Zwei Taster gleichzeitig
Teil des Abschnitts Eingaben der Arduino-Journey von Coddy. Lektion 7 von 22.
Jeder Taster bekommt seinen eigenen Pin und sein eigenes digitalRead(). Das Board liest sie nacheinander aus, aber so schnell, dass es für dich derselbe Moment ist.
Fabrikmaschinen haben oft zwei weit auseinanderliegende Taster und laufen nur, solange beide gedrückt gehalten werden. Beide Hände liegen auf den Tastern, sodass keine in die Nähe der Klinge kommen kann. Diese Regel ist && aus Bedingungen kombinieren:
bool left = digitalRead(2) == LOW;
bool right = digitalRead(3) == LOW;
if (left && right) {
// beide Tasten sind gedrückt
}Beide Pins benötigen INPUT_PULLUP. Vergisst du einen, ist dieser Pin nicht beschaltet und liest hier LOW, als wäre sein Taster immer gedrückt.
Aufgabe
EinfachDie Tasten sind mit den Pins 2 und 3 verbunden, beide mit GND, und die LED ist an Pin 13 angeschlossen. Lass die LED nur leuchten, während beide Tasten gedrückt gehalten werden:
- setze die Pins 2 und 3 auf
INPUT_PULLUP - lies jede Taste in eine
bool-Variable ein - lass die LED leuchten, wenn beide gedrückt sind, andernfalls schalte sie aus
Drücke auf Run, halte eine Taste gedrückt, dann beide, und drücke anschließend auf Check.
Probier es selbst
const int leftPin = 2;
const int rightPin = 3;
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
// Setze beide Taster-Pins auf INPUT_PULLUP
}
void loop() {
// Lies beide Taster ein und lasse die LED nur leuchten, solange beide gedrückt gehalten werden
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Eingaben
Übe selbstständig: Arduino-Playground