Einen Knopf auslesen
Teil des Abschnitts Erste Schaltungen der Arduino-Journey von Coddy. Lektion 22 von 22.
Ein Pin kann auch ein Eingang sein: Das Board liest aus, ob er HIGH oder LOW ist.
Dieser Taster verbindet Pin 2 mit Masse (0 Volt), solange du ihn gedrückt hältst. Wenn er nicht gedrückt ist, ist der Pin mit nichts verbunden und würde zufällige Werte lesen. INPUT_PULLUP schaltet einen Pull-up-Widerstand im Board ein, der den Pin auf HIGH hält, bis der Taster ihn auf LOW zieht:
pinMode(2, INPUT_PULLUP);digitalRead(2) gibt den Pegel des Pins zurück. Mit einem Pull-up-Widerstand liest ein gedrückter Taster LOW:
if (digitalRead(2) == LOW) {
// Die Taste ist gedrückt
}Der Rest ist dir bereits bekannt: Mit if und else wählst du aus, mit digitalWrite() steuerst du die LED und mit Serial.println() gibst du eine Meldung aus.
Aufgabe
EinfachDer Taster ist an Pin 2 und die LED an Pin 13 angeschlossen. Lass die LED leuchten, solange der Taster gedrückt wird:
- setze Pin 2 auf
INPUT_PULLUP - wenn
digitalRead(buttonPin)LOWist, schalte die LED ein, gibPressedaus und warte 200 ms (damit der Monitor nicht überflutet wird) - andernfalls schalte die LED aus
Drücke Run, halte den grünen Taster auf der Platine gedrückt und drücke dann Check.
Probier es selbst
const int buttonPin = 2;
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Erste Schaltungen
1Hallo, Board
Eine LED blinken lassenSetup und LoopDie Blinkgeschwindigkeit ändernEine eigene LEDZwei LEDs im WechselKommentare in deinem Sketch4Entscheidungen
Entscheidungen mit ifAuswählen mit if und elseWerte vergleichenBedingungen kombinierenEinen Knopf auslesen2Mit deinem Computer kommunizieren
Hallo, Serial MonitorPrint oder PrintlnZahlen ausgebenDeine erste VariableHochzählenWenn ein Int an seine Grenzen stößtÜbe selbstständig: Arduino-Playground