Arduino
Array als Variablensammelstation, oder, wie man es sonst immer hört, als Container.
Arrays liebt man oder hasst sie. Hier möchte ich möglichst einfach die Nutzung von Array schmackhaft machen.
Wir bleiben bei unseren 3 LEDs und ergänzen das Programm.
Auch wenn es spannenderes als 3 LEDs gibt, die der Reihe nach blinken, so geht es um viel mehr.
Ganz wichtig, daher gleich am Anfang, im Array fängt man bei 0 an zu zählen. Der erste Wert (egal ob Name, Buchstabe oder Zahl) ist Platz 0 in der Reihenfolge beim Aufrufen.
Theoretisch könnte man an die erste Stelle dann einfach einen „Platzhalter“ einsetzen, damit man beim Aufrufen, zuordnen oder zählen am Anfang nicht durcheinander kommt. Ob das Sinnvoll ist, da sich dadurch fremder Code schwieriger lesen läßt, ist dahingestellt.
int meineWerte[] = {12, 8, 7, 1000}; //Array angelegt, das die Werte fuer Pins und Wartezeit beinhaltet
int zaehlerRot = 0;
void roteLed() {
if (zaehlerRot < 3) {
digitalWrite(meineWerte[0], HIGH);
delay(meineWerte[3]);
digitalWrite(meineWerte[0], LOW);
delay(meineWerte[3]);
zaehlerRot = zaehlerRot+1;
}
else {
digitalWrite(meineWerte[1], HIGH);
delay(meineWerte[3]);
digitalWrite(meineWerte[1], LOW);
delay(meineWerte[3]);
digitalWrite(meineWerte[2], HIGH);
delay(meineWerte[3]);
digitalWrite(meineWerte[2], LOW);
delay(meineWerte[3]);
zaehlerRot = 0;
}
}
void setup() {
pinMode(meineWerte[0], OUTPUT);
pinMode(meineWerte[1], OUTPUT);
pinMode(meineWerte[2], OUTPUT);
}
void loop() {
roteLed();
}
Mal ganz ehrlich, das ist die einfachste Form ein Array zu erklären.
Da es ein Container / Sammelbox für Variable ist, müssen wir zunächst deklarieren, indem wir int für Ganzzahl vor den Namen des Arrays schreiben. Bei Fließkommazahlen würde dort float stehen und bei Buchstaben char.
Wie gesagt, danach kommt der Name, den wir vergeben wollen. Am besten im gleichen Stil wie bei den Variablen selber mit Kleinbuchstabe anfangend und dann die folgenden Worte mit großem Anfangsbuchstaben.
Das, was es dann zum Array macht, ist die eckige Klammer. Beim Apple bekommst du die mit alt+5 öffnend hin und die 6 für die schließende Klammer. Bei Windows ist sie auf der Tastatur abgebildet.
int meineWerte[] = {12, 8, 7, 1000};
Die 12 hat beim Aufrufen Platz 0, wie man im weiteren Programm dann gut sieht.
Ansonsten wird der Array so aufgerufen, wie zuvor eine Variable, nur man gibt dann in der eckigen die Position der Variablen innerhalb der angelegten Array an. Und genau da ist es wichtig, dann man bei 0 anfängt zu zählen.
Ansonsten macht das Programm alles wie die Programme zuvor auf den Seiten.