Wenn du einen Code einfügen willst, schreibst du vor dem Code einfach [ c o d e ] und nach dem Code [ / c o d e ] (Leerzeichen entfernen).
Dann sieh es so aus.
Code:
Hier steht dein Code
Der Switch Befehl ist relativ einfach.
Du benötigst eine Zählvariable (Integer), mehr nicht.
Ich habe in der Arduino Referenz geschaut wie es funktioniert (Verwende das Atmel Studio und nicht die Arduino IDE).
https://www.arduino.cc/reference/de/...re/switchcase/
Aber im Prinzip schaut die Schleife so aus:
Code:
switch (Zählvariable)
{
case 0:
// Statement(s)
digitalWrite(led1, HIGH);
delay(1000);
// Wichtig: Die Zählvariable muss auf den nächsten Wert geschalten werden
Zählvariable = 1;
break;
case 1:
// Statement(s)
digitalWrite(led2, HIGH);
delay(1000);
// Wichtig: Die Zählvariable muss auf den nächsten Wert geschalten werden
Zählvariable = 2;
break;
.................
.................
.................
default: // Statement(s) break; // Wird nicht benötigt, wenn Statement(s) vorhanden sind
}
Der Default Zweig sollte immer eingefügt werden. Der Default Zweig wird immer verwendet, wenn es für den aktuellen Wert der Zählvariable keinen Case gibt.
Also wenn du im oberen Beispiel z.B. "3" schreibst.
Ich habe oben nur 2 Cases geschrieben, du musst es noch erweitern.
Wenn der Ein- Ausschaltvorgang unterschiedlich sein soll, benötigst du 2 Switch Case Strukturen.
Was du bei der Switch Case Anweisung wissen musst ist, das immer der Case bearbeitet wird und danach unter dem Case weiterläuft. Das steht aber in dem Link.
Die Zählvariable zählst du einfach hoch oder runter. Je nachdem ob du Ein- oder Aus schaltest.
Wenn du Hilfe benötigst helfe ich gerne weiter.
Warum dein Programm nicht funktioniert weiß ich nicht.
Du könntest aber versuchen statt
"status = !status" in
"status = ~status" zu ändern.
Edit: Was ich an der Arduino IDE richtig sch..... finde ist, das es nicht einmal einen Simulator gibt. Bei dem Atmel Studio ist das schon eine richtig gute Funktion. Wenn man einen Debugger hat, ist das natürlich viel besser, den gibt es aber in der Arduino IDE ebenfalls nicht.
MfG Hannes
Lesezeichen