Arduino Tutorial: Der Taster

Nachdem du dich ausführlich mit den LEDs beschäftigt hast, lernst du nun wie du dein Arduino mit einen Taster bedienen kannst. Ein Taster ist hier so ähnlich wie eine Haustürklingel. Wenn man darauf drückt, passiert etwas. Als Einstieg werden wir eine LED aufleuchten lassen, sobald wir auf unseren Taster drücken. 

 

 

Was benötigst du?

  • 1 x Arduiono Uno

 

  • 1 x USB Kabel

 

  • 1 x Steckbrett

 

  • 1 x LED

 

  • 1 x Ohmscher Widerstand (220 Ohm)

 

  • 1 x Ohmscher Widerstand (10 Kiloohm)

 

  •  Jump Wire (Männlich)

 

 

Wie sieht die Schaltung aus?

Die LED wird an Pin 13 angeschlossen. Den Taster schließen wir an Pin 8 an. Der 10 Kiloohm Widerstand wird mit dem Taster verbunden 

 

 

 

 

 

Der Code

 

int led = 13;                               // Variable für Pin 13

int button = 8;                             // Variable für Pin 8

int buttonStatus;                           // in dieser Variable wird die Information

                                            // abgespeichert ob der Taster gerade gedrückt

                                            //wird oder nicht

 

void setup() {

 

  pinMode(led, OUTPUT);                     // definiere Pin 13 als Ausgang

  pinMode(button, INPUT);                   // definiere Pin 8 als Eingang

 

}

 

void loop () {

  

  buttonStatus = digitalRead(button);       // prüfe ob Taster gedrückt oder nicht und

                                            // speicher die Information in

                                            // buttonStatus ab

 

  if(buttonStatus == HIGH)                  // Wenn buttonStatus = 1, also HIGH führe den

                                            // Code in den geschweiften

                                            // Klammern aus. (if- Anweisung)

  {

     digitalWrite(led, HIGH);               // mach LED an

  }

  else                                      // ansonsten, wenn Taster nicht gedrückt wird

                                            // führe den Code in den

  {                                         // geschweiften Klammern aus. (else- Anweisung)

     digitalWrite(led, LOW);                // pin 13 = 0, mache LED aus

  

  }

}

 

 

Den Sketch könnt ihr auch hier herunterladen.

 

 

Code- Review

pinMode(button, INPUT);                   // definiere Pin 8 als Eingang

 

Der Taster (Pin 8) muss als Eingang definiert werden, da dieser zu den sogenannten Sensoren gehört. Von Sensoren holt sich unser Mikrocontroller Informationen ab.

 

buttonStatus = digitalRead(button);         // prüfe ob Taster gedrückt oder nicht und

                                            // speicher die Information in

                                            // buttonStatus ab

 

Hier fragt unser Arduino den Taster: "Bist du gedrückt oder nicht?" Technisch gesehen misst der Mikrocontroller das Potenzial an Pin 8 und wertet das Potenzial entweder als LOW = 0 oder als HIGH = 1. Wenn ein Potenzial von 0 Volt gemessen wird, wertet das Board diesen als LOW und 5 Volt wird als HIGH gewertet. Der gemessene Wert wird anschließend in unserer Variable "buttonStatus" abgespeichert.

 

if(buttonStatus == HIGH)                    // Wenn buttonStatus = 1, also HIGH führe den

                                            // Code in den geschweiften

                                            // Klammern aus. (if- Anweisung)

{

   digitalWrite(led, HIGH);                 // mach LED an 

}

 

Hier lernen wir die sogenannte if- Anweisung kennen. Wir geben eine Bedingung vor um etwas ausführen zu können. 

 

if(Bedingung)

{

   Anweisung              

}

 

Die Bedingung lautet hier, wenn buttonStatus = HIGH, also 1.... . Wenn diese Aussage wahr ist, wird die Anweisung in der geschweiften Klammer ausgeführt. Bei der Bedingung muss man ein doppeltes Gleichzeichen verwenden "==". Nicht vergessen! Natürlich kann man noch andere Bedingungen stellen. Aber das lernst du später.

 

else                                      // ansonsten, wenn Taster nicht gedrückt wird

                                          // führe den Code in den

{                                         // geschweiften Klammern aus. (else- Anweisung)

   digitalWrite(led, LOW);                // pin 13 = 0, mache LED aus

  

}

 

Wenn wir die if- Anweisung verwenden kann man die else- Anweisung danach verwenden. Die Anweisung in der geschweiften Klammer wird für alle anderen Fälle ausgeführt, also wenn die Bedingung der if- Anweisung nicht erfüllt ist.

 

 

Jetzt bist du dran

a) Verändere deinen Sketch damit die LED leuchtet, wenn der Taster nicht gedrückt ist und nicht leuchtet, wenn du ihn drückst.

 

b) Verändere den Sketch so, dass beim gedrückten Taster, die LED für eine  halbe Sekunde aufleuchtet und eine halbe Sekunde ausbleibt und danach wieder eine halbe Sekunde leuchtet und so weiter. Speicher die Leuchtzeiten wieder in Variablen.

 

Die Lösungen findest du hier.

 

 

 

 

Wenn du hier irgendetwas vermisst, bessere Ansätze hast oder dir etwas nicht klar ist, zögere nicht einen Kommentar zu hinterlassen.

Kommentar schreiben

Kommentare: 0