Anfängerfrage zum Programmieren

Servus zusammen,
ich sitze gerade an einem einfachem Anfagsprojekt um mich ein wenig einzuarbeiten, einer Ampelschaltung. Nun habe ich logischerweise 3 LEDs (Rot, Gelb, Grün). Meine Frage ist, ob ich irgendwie am Anfang des Programmcodes eine "Programmsequenz" definieren kann, sodass ich dann im eigentlichen Programm quasi auf diesen Shortcut zugreifen kann.
Bsp.:
digitalWrite (7, LOW); //grün 2
digitalWrite (5, HIGH); //gelb 2
delay (1000); //Ampel 2 schaltet auf rot
digitalWrite (5, LOW); //gelb 2
digitalWrite (6, HIGH); //rot 2

Kann ich diese Sequenz nun in irgendeiner Weise vordefinieren (also z.B: AmpelSchaltetRot(), und damit wird auf die Sequenz verwiesen), damit ich sie nicht immer aufs neue schreiben muss?
Ich hoffe ihr versteht meinen Punkt und verzeiht mir die Anfängersprache, jeder fängt mal klein an :wink:

Das nennt sich "Funktion"

Das "void" bei der Parameterübergabe ist optional. Also das reicht:

void ampelSchaltetRot()
{
   ...
}

und versuch vor allem, das ohne dela zu lösen.

Und nimm dafür einen endlichen Automaten, dann wird sich hier im Forum jemand riesig freuen ;D

Wenn Du magst, kannst Du hier und hier lesen.

PS.: Mit "jemand" meint er combie ;D stimmt's?

Danke Danke Danke!
Wie erwähnt, ich bin blutiger Anfänger, ihr helft mir hier wirklich sehr, auch wenn es sich vielleicht lächerlich anhört :smiley:
Dann werde ich mir mal den endlichen Automaten aneignen und Funktionen einbauen.

agmue:
PS.: Mit "jemand" meint er combie ;D stimmt's?

Bin ich so dogmatisch?
Ja, ne?

Aber fachlich stimmt das vollkommen.
Eine Ampel ist das Paradebeispiel für einen solchen Automaten.
Eine Pflichtübung, und auch Kür, wenn Fußgänger mitspielen dürfen.

Natürlich laufen viele typische Anwendungen auf einen endlichen Automaten hinaus, und das ist ja auch guter Programmierstil. Und es ist auch schön, wenn jemand hier im Forum ist, der das vehemment verteidigt/anpreist/bewirbt/…, weil wenn man das erstmal verinnerlicht hat, sind viele Abläufe viel einfacher zu programmieren.
Also für Anfänger:

  1. Basics lernen
  2. Blink without delay verstehen und bis zur Vergasung üben
  3. Endlicher Automat verstehen und verinnerlichen

Dann erst dumm hier fragen :wink: :smiley:

combie:
Bin ich so dogmatisch?
Ja, ne?

Ne, ich wollte den Ball nur an den, der mir gezeigt hat, daß ich das kann, wofür ich dankbar bin, weitergeben. :smiley:

combie:
Bin ich so dogmatisch?
Ja, ne?

Nein dogmatisch kann man so nicht sagen, der Begriff ist negativ besetzt. Bei dir ist es eine positive Hartnäckigkeit