
Was benötigst du?
In diesen Tutorial lernst du, 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. Lassen wir den Taster los, soll die LED auch aus gehen.
- 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
}
}
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