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 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
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);
}
}
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