Arduino - Taste
Der Taster ist eine Basiskomponente und wird in vielen Arduino-Projekten häufig verwendet. Er ist nicht so einfach, wie es aussieht (aufgrund mechanischer und physikalischer Eigenschaften). Anfänger könnten damit viele Schwierigkeiten haben. Dieses Tutorial erleichtert Anfängern den Einstieg. Lass uns anfangen!
※ Notiz:
Bevor wir über den Taster sprechen, möchten wir darauf hinweisen, dass es zwei häufige Fehler gibt, die Neulinge normalerweise begegnen:
- Das Problem des schwebenden Eingangs:
- Symptom: Beim Anschluss eines Tasters an den Arduino-Eingangspin ist der Zustand des Eingangspins zufällig und stimmt nicht mit dem Betätigungszustand des Tasters überein.
- Ursache: Der Tasterpin verwendet KEINEN Pull-Down-Widerstand oder Pull-Up-Widerstand.
- Lösung: ⇒ Verwenden Sie einen Pull-Down-Widerstand oder einen Pull-Up-Widerstand am Eingangspin. Die Details werden später in diesem Tutorial beschrieben.
- Symptom: Der Code auf dem Arduino liest den Zustand des Tasters und identifiziert das Betätigungsereignis, indem er die Zustandsänderung erkennt (HIGH zu LOW, oder LOW zu HIGH). Wenn der Taster tatsächlich nur einmal gedrückt wird, erkennt der Arduino-Code mehrere Betätigungen statt nur einmal.
- Ursache: Aufgrund mechanischer und physikalischer Eigenschaften wird bei einem einzelnen Druck auf einen Taster der Zustand des Eingangspins schnell mehrmals zwischen LOW und HIGH umgeschaltet statt nur einmal.
- Lösung: ⇒ Entprellen. Die Details werden im Arduino - Button - Debounce Tutorial beschrieben.
Das Prellen-Phänomen verursacht Fehlfunktionen nur in einigen Arten von Anwendungen, die genau die Anzahl der Betätigungen erkennen müssen. In einigen Anwendungen ist es harmlos.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Verdrahtungsdiagramm
- Verdrahtungsdiagramm zwischen Arduino und PCB-montiertem Taster

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Schaltbild zwischen Arduino und panelmontiertem Taster

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wie man eine Schaltfläche programmiert
- Initialisiert den Arduino-Pin als internen Pull-up-Eingang durch die Verwendung der Funktion pinMode(). Zum Beispiel Pin 7:
- Liest den Zustand des Arduino-Pins mithilfe der Funktion digitalRead().
※ Notiz:
Es gibt zwei weit verbreitete Anwendungsfälle:
- Der erste: Wenn der Eingangsstatus HIGH ist, tue etwas. Wenn der Eingangsstatus LOW ist, tue etwas anderes – umgekehrt.
- Der zweite: Wenn der Eingangsstatus sich von LOW auf HIGH (oder HIGH auf LOW) ändert, tue etwas.
Je nach Anwendung wählen wir eine davon.
Zum Beispiel: Bei der Verwendung eines Knopfes zur Steuerung einer LED:
- Wenn die LED eingeschaltet sein soll, wenn der Knopf gedrückt wird, und ausgeschaltet, wenn der Knopf NICHT gedrückt wird, sollten wir den ersten Anwendungsfall verwenden.
- Wenn die LED bei jedem Drücken des Knopfes zwischen EIN und AUS umgeschaltet werden soll, sollten wir den zweiten Anwendungsfall verwenden.
Wie man die Zustandsänderung von LOW zu HIGH erkennt
Arduino-Code
Schnelle Schritte
- Verbinde Arduino über ein USB-Kabel mit dem PC
- Öffne die Arduino IDE, wähle das richtige Board und den richtigen Port
- Kopiere den untenstehenden Code und öffne ihn mit der Arduino IDE
- Klicken Sie in der Arduino IDE auf die Hochladen-Schaltfläche, um Code auf Arduino hochzuladen.

- Öffne den seriellen Monitor
- Drücke den Knopf mehrmals und lasse ihn los
- Sieh das Ergebnis im seriellen Monitor:
1 ist hoch, 0 ist niedrig.
Code-Erklärung
Sie finden die Erklärung in der Kommentarzeile des obigen Arduino-Codes.
Arduino-Code ändern
Lass uns den Code so ändern, dass Drück- und Loslassen-Ereignisse erkannt werden.
Schnelle Schritte
- Ändern Sie den Code wie unten.
- Klicken Sie auf die Hochladen-Schaltfläche in der Arduino-IDE, um Code auf Arduino hochzuladen.

- Seriellen Monitor öffnen
- Drücken Sie den Knopf und lassen Sie ihn dann los
- Sehen Sie das Ergebnis im seriellen Monitor
※ Notiz:
- Selbst wenn du den Knopf nur einmal gedrückt und losgelassen hast, kann die Ausgabe im seriellen Monitor mehrere gedrückte und losgelassene Ereignisse anzeigen. Dies ist das normale Verhalten des Knopfes. Dieses Verhalten wird als das „Prellphänomen“ bezeichnet. Weitere Informationen findest du im Arduino - Button Debounce Tutorial.
- Um es Anfängern deutlich zu erleichtern, insbesondere beim Einsatz mehrerer Taster, haben wir eine Bibliothek namens ezButton erstellt. Du kannst hier Erfahre hier mehr über die ezButton-Bibliothek.
- Verwende pinMode(BUTTON_PIN, INPUT) für das Tastermodul. Es liefert LOW, wenn nicht gedrückt, und HIGH, wenn gedrückt.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.
Fordere dich heraus
- Schalte die LED ein, wenn der Knopf gedrückt wird, und schalte die LED aus, wenn der Knopf NICHT gedrückt wird.
- Schalte die LED bei jedem Knopfdruck zwischen EIN und AUS um.
Zusätzliches Wissen
- Wenn der Sensor entweder im geschlossenen Zustand (mit VCC oder GND verbunden) oder im offenen Zustand (nicht mit irgendetwas verbunden) ist, benötigen Sie einen Pull-up- oder Pull-down-Widerstand, damit diese Zustände zwei Zustände werden: LOW und HIGH. Zum Beispiel Taster, Schalter, Magnetschalter (Türsensor)...
- Wenn der Sensor zwei definierte Spannungspegel (LOW und HIGH) hat, benötigen Sie keinen Pull-up- oder Pull-down-Widerstand. Zum Beispiel Bewegungssensor, Berührungssensor ...