
Video
Schaltplan

Quellcode
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// LED mit Taster schalten (Push)
4// ─────────────────────────────────────────
5// Die LED bleibt an, solange die Taste gehalten wird, und geht aus, wenn
6// sie losgelassen wird (Push). Zeigt das Lesen einer Taste mit digitalRead
7// und if-else.
8//
9// Pins:
10// D13 -> Taste, anderes Beinchen an 5V
11// D13 -> 10k-Widerstand an GND (Pull-down)
12// D7 -> LED (mit 330-Ohm-Widerstand)
13
14void setup() {
15 pinMode(13, INPUT); // Tasteneingang (externer Pull-down)
16 pinMode(7, OUTPUT); // LED-Ausgang
17}
18
19void loop() {
20 if (digitalRead(13) == HIGH) { // Ist die Taste gedrückt?
21 digitalWrite(7, HIGH); // Gedrückt: LED an
22 } else {
23 digitalWrite(7, LOW); // Losgelassen: LED aus
24 }
25}
26FAQ
Wozu dient ein 10-kΩ-Widerstand?▾
Es handelt sich um einen Pull-Down-Widerstand: Er sorgt dafür, dass der Pin auf GND gezogen wird, wenn die Taste nicht gedrückt ist, und somit ein stabiler LOW-Wert ausgelesen wird. Ohne diesen Widerstand bleibt der Pin offen, es wird ein zufälliger HIGH-/LOW-Wert ausgelesen und die LED blinkt von selbst.
Kann ich einen Schalter ohne Widerstand anschließen?▾
Ja, mit `pinMode(pin, INPUT_PULLUP)` wird der interne Pull-up-Widerstand des Arduino aktiviert. In diesem Fall wird der Taster-Pin mit GND verbunden, und die Logik kehrt sich um: Wenn der Taster gedrückt ist, wird LOW gelesen, wenn er losgelassen wird, HIGH.
Welche Anschlüsse des Schalters soll ich verwenden?▾
Bei 4-poligen Tastern sind jeweils zwei gegenüberliegende Pins bereits intern miteinander verbunden. Platziere den Taster über der freien Stelle in der Mitte des Steckbretts und verwende die diagonal gegenüberliegenden Pins; so stellst du sicher, dass du die richtigen Pins auswählst.
Was ist der Unterschied zwischen „Push“ und „On-Off“?▾
Im Push-Modus leuchtet die LED nur, solange die Taste gedrückt gehalten wird. Im Ein-Aus-Modus (Toggle-Modus) ändert jeder Tastendruck den Zustand der LED, und die LED bleibt auch dann eingeschaltet, wenn du die Taste loslässt; hierfür ist eine Zustandsvariable erforderlich.
