Taster mit Arduino auslesen

Benötigte Komponenten

  • Arduino UNO kompatibles Board + USB-Kabel
  • Breadboard
  • Taster
  • 5mm LED
  • 1k Widerstand (Band: braun-Schwarz-Rot-braun)
  • 220 Ohm Widerstand (Band: Rot-Rot-Schwarz-Schwarz-braun)
  • 4 Jumperkabel

Was sind elektronische Taster?

Ein Taster, auch Knopf oder Button genannt, ist ein Bedienelement, das bei Betätigung auslöst (Ein) und beim Loslassen wieder in den Ursprungszustand zurückkehrt (Aus). Ein Taster ist nur „Ein“, solange die Taste gedrückt wird.

 Taster Funktionsweisetaster_funktionsweise

Die Pins sind paarweise verbunden 1-3 und 2-4. Bei Betätigung des Schalters wird der Kontakt in der Mitte geschlossen und der Strom kann fließen.

Anschlussplan Button_Steckplatine

Hinweis zur Schaltung: Ohne den 10k „Pull-Down“-Widerstand kann es sein, dass die LED verrücktspielt. Das liegt daran, dass der Pin vom Taster in einem „float“-Zustand ist und eine Serie von Nullen und Einsen ausgibt. Durch den „Pull-Down“-Widerstand wird das Signal auf „low“ (Masse) gezogen, bis der Taster betätigt wird.

Code für Arduino

const int tasterPin = 2;
const int ledPin = 7;
int buttonState = 0; // Variable um den Taster-Status einzulesen

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(tasterPin, INPUT);
}
void loop() {
buttonState = digitalRead(tasterPin); // Auslesen vom Taster-Status
// Check ob der Taster gedrückt wird
if (buttonState == HIGH) {
// wenn ja, LED einschalten
digitalWrite(ledPin, HIGH);
} else {
// ansonsten, LED ausschalten
digitalWrite(ledPin, LOW);
}
}

Schlagworte: Starter Kit, Arduino, Anleitung

Die mit einem * markierten Felder sind Pflichtfelder.

  • Entprellung ?

    hallo,
    also OHNE Entprellung (siehe Arduino-Forum) ist das sehr unsicher..Taster unterliegen auch einem Verschleiß !
    das wird so wie dargestellt nicht lange Freude machen...
    interessant wäre ne Schaltung mit kapazitiver Erkennung oder Touchsensor..
    bin da grade auch am Suchen..

  • @rhoenwolf

    Hallo,

    das Entprellen (Debounce) macht wirklich Sinn, um Fehleingaben komplett zu verhindern, am Verschleiß ändert sich hier aber nichts. Damit der Schalter nicht im Float-Zustand auslöst, verwenden wir in dieser Anleitung einen 10k Widerstand als Pulldown.
    Die Debounce-Funktion wird für dieses Einsteigerprojekt nicht benötigt und macht das einfache Auslesen eines Schalters unnötig kompliziert für Einsteiger.

    Im Prinzip wird beim debouncen nur zwei mal geprüft, ob der Schalter wirklich ausgelöst wurde. Dies geschieht über die millis() Funktion, in der das Programm innerhalb eines Zeitfensters prüft, ob der Taster nun wirklich gedrückt wurde nicht oder nicht.

    Freundliche Grüße
    Ihr Team von Roboter-Bausatz