Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:arduino:lauflicht_ueber_taster [2020/02/07 15:26] m.lange |
faecher:informatik:arduino:lauflicht_ueber_taster [2020/02/07 15:50] (aktuell) m.lange |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Lauflicht über Taster ====== | ====== Lauflicht über Taster ====== | ||
- | Das folgende Programm soll die einzelnen LEDs nach und nach einschalten. | + | {{:faecher:informatik:arduino:lauflicht-mit-taster2.png?600|}} |
+ | |||
+ | Das folgende Programm soll die einzelnen LEDs nach und nach auf Tastendruck einschalten. | ||
<code c> | <code c> | ||
int aktuell; // hier drin wird der Pin der LED gespeichert, die gerade an sein soll | int aktuell; // hier drin wird der Pin der LED gespeichert, die gerade an sein soll | ||
Zeile 30: | Zeile 32: | ||
</code> | </code> | ||
- | Das Programm funktiniert noch nicht wie gewollt, die LEDs leuchten alle (wie genau?) und wenn man den Taster los lässt, leuchtet eine zufällig LED. | + | Das Programm funktiniert noch nicht wie gewollt, die LEDs leuchten alle (wie genau?) und wenn man den Taster los lässt, leuchtet eine zufällige LED. |
- | Um den Fehler aufc_mazuspüren baut man nach der "Marke 1" ein "delay(100);" ein. | + | Um den Fehler aufzuspüren baut man nach der "**Marke 1**" ein: |
+ | |||
+ | <code c> | ||
+ | delay(100); | ||
+ | </code> | ||
Man sieht nun, was passiert, in schneller Folge werden die LEDs geschaltet. Was ist der Fehler? | Man sieht nun, was passiert, in schneller Folge werden die LEDs geschaltet. Was ist der Fehler? | ||
- | Die Zeile "if (!digitalRead(2)) {" fragt nur ab, ob ein Taster gedrückt ist, nicht ob er wieder losgelassen wurde. | + | Die Zeile "**if (!digitalRead(2)) {**" fragt nur ab, ob ein Taster gedrückt ist, nicht ob er wieder losgelassen wurde. |
- | Also bauen wir ein warten bis der Taster wieder losgelassen wurde ein. Nach "Marke 2": | + | Also bauen wir ein warten bis der Taster wieder losgelassen wurde ein. Nach "**Marke 2**": |
<code c> | <code c> | ||
while( !digitalRead(2) ){delay(10);} | while( !digitalRead(2) ){delay(10);} |