Eine Taste anschließen



Mit einer Taste können wir digitale Signale in den Arduino geben.

               

               


Verbinden wir Pin2 über eine Taste gegen GND, lautet der Code dafür:

    pinMode(2, INPUT); // Pin 2 ist jetzt ein Eingang


Wenn Du Dir die Schaltung ansiehst, bemerkst Du vielleicht, dass bei geöffneter Taste der Pin 2 mit nichts verbunden ist.
Dies ist keine gute Idee!

Damit bei geöffneter Taste an Pin 2 ein High-Signal anliegt
, benutzen wir den Befehl:

    digitalWrite(2, HIGH); (... was einen internen Widerstand namens "Pull Up" gegen 5V aktiviert)


Die Tastenabfrage erledigen wir mit folgender Anweisung:

    if ( digitalRead(2) == LOW ) {machirgendwas}

oder:

    if ( digitalRead(2) == HIGH ) {machirgendwasanderes}

wobei ein LOW eine geschlossene Taste repräsentiert.




Übungen zu Tasten:

1. Eine LED soll leuchten, solange eine Taste gedrückt wird.

2. UND-Verknüpfung: eine LED soll leuchten, wenn zwei Tasten gedrückt werden.

3. Oder-Verknüpfung: LEDan = Taste 1 ODER Taste 2

4. Zwei Tasten und eine LED: Taste 1 ein lässt die LED leuchten und Taste 2 lässt sie verlöschen

5. Gegenseitige Auslösung mit 3 LEDs (entspricht "Radiobutton" bei z. B. C#)

6. Gegenseitige Auslösung mit 3 LEDs (Quiz-Schaltung)




Seit einiger Zeit kann man die beiden Anweisungen:

   pinMode(2, INPUT);      //Pin 2 ist jetzt ein Eingang
   digitalWrite(2, HIGH);  //internen Pull Up Widerstand an Pin2 einschalten


Zu einer Anweisung zusammenfassen:

   pinMode(2, INPUT_PULLUP); //Pin 2 ist jetzt ein Eingang mit Pull Up