Guten Tag Zusammen,
wie so viele bin ich Neueinsteiger beim Arduino.
Nun bin ich seit 3 Tagen Besitzer eines Arduino Uno und dem Buch Die elektronische Welt mit Ardiuno entdecken.
Nun ja soweit so gut, alles prima, alles toll.
Nach jedem Projekt gibt es eine Aufgabe um das gelernte zu vertiefen.
Nun war die Aufgabe einen Sketch zu schreiben der LED´s mit einem Taster "weiterschaltet".
Dies ist mir auch gelungen aber ich verstehe nicht warum er geht.
int ledPin [] = {4,5,6,7,8,9,10,11,12,13}; // LED 1-10
int taster = 3; // Taster pin 3
int wartezeit = 100; // Wartezeit fuer entprellen
int tasterStatus = 0; // Variable Taster status aktuell
int tasterStatusvorher = 0; // Variable Taster Status vorher
int zaehler = 0; // Variable Zaehler
void setup()
{
Serial.begin(9600); // Bautrate fur Serialen Monitor
pinMode(taster, INPUT); // Eingang Taster
for(int u=0; u<10; u++){ // Schleife fuer Ausgänge setzten
pinMode(ledPin[u], OUTPUT); // Ausgänge setzten
}
}
void loop()
{
tasterStatus = digitalRead(taster); // Abfrage Taster
if (tasterStatusvorher != tasterStatus) // Alter Taster STatus mit aktuellem taster Status ungleich ?
{
if (tasterStatus ==HIGH) // ist tasterStatus = wahr
{
zaehler ++; // setzte zaehler +1
Serial.println(zaehler);
}
}
tasterStatusvorher = tasterStatus; // Speichert den aktuellen taster status
if (zaehler >=0){ // wenn zaehler groesser oder gleich 0
digitalWrite(ledPin[zaehler], HIGH);
digitalWrite(ledPin[zaehler], LOW);
}
if (zaehler >9)
zaehler =0; //wenn zaehler groesser 9 setze ihn auf 0
}
mir geht es um
if (zaehler >=0){ // wenn zaehler groesser oder gleich 0
digitalWrite(ledPin[zaehler], HIGH);
digitalWrite(ledPin[zaehler], LOW);
Es ist nun so das wenn ich den Taster drücke geht die nächste LED an und die Aktuelle LED aus,
genau das was passieren soll aber warum ?
Mein Variablle (zaehler) sollte doch identisch sein, Sprich normal dürfte keine LED leuchten.
aber warum zum teufel geht es trotzdem ?
hatte vorher einiges ausprobiert, aber hat nicht zum erfolg geführt und wo ich nicht mit gerechnet hätte gehts.
Danke
Benedikt