Eine Abfrage prüft, ob z.B. eine Variable einen bestimmten Wert hat. Abfragen können also den Programmablauf steuern.
if-Abfrage
Die if-Abfrage prüft, ob die übergebene Bedingung wahr ist. Wenn sie wahr ist, wird der Anweisungsblock durchlaufen, ist sie falsch, kann man einen alternativen Anweisungsblock (else) ausführen lassen.
if (digitalRead(btnPin)==HIGH) { // Anweisungsblock für wahr digitalWrite(ledPin,HIGH); } else { // Anweisungsblock für falsch digitalWrite(ledPin,LOW); }
Wenn der Button am btnPin gleich HIGH ist, wird die LED am ledPin eingeschaltet (HIGH), sonst wird sie abgeschaltet (LOW).
switch-case-Abfrage
Will man einen Wert auf verschiedene Zustände prüfen, bietet sich die switch-case-Abfrage an. Die Struktur sieht so aus:
switch (meineVariable) { case 1: befehl1; break; case 2: befehl2; break; default: befehl3; break; }
Hierbei wird der Block case 1 ausgeführt, wenn meineVariable == 1 ist. Ist sie 2, wird der Block case 2 ausgeführt. Ist sie weder 1 noch 2, wird der Block default ausgeführt. Wichtig sind die break-Befehle. Sie veranlassen das Programm, aus der Abfrage zu springen.
Pingback: Arduino Valentinstag: Romantisches Wandlicht – mit LED-Stripe
Code hab ich keinen für dich. Aber dank ein bisschenn Googlen diesen Beitrag gefunden:
http://forum.arduino.cc/index.php?topic=116333.0
Und das Beispiel: https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
Grüße, Tobsen
Hallo,
im letzten Jahr habt Ihr mir sehr geholfen mit der do while Abfrage. Nun möchte ich eine Geschwindigkeitsmessung programmieren; wie kann ich einen Timer starten, stoppen und das Ergebnis auf dem Display ausgeben? Programmablaufplan in Basic:
– Abfrage der Lichtschranke; A=Timer
– 5 sec. warten
– Abfrage der Lichtschranke; B=Timer
– C=B-A
-print C
wie macht man das mit dem Arduino Mega?
Wer kann mir helfen?
Gruß Uli.
Die Kommentarfunktion ist deaktiviert.