Arduino - Taster - Entprellung
Wenn ein Knopf gedrückt/losgelassen wird oder wenn ein Schalter umgelegt wird, denken Anfänger normalerweise einfach, dass sein Zustand von LOW zu HIGH oder HIGH zu LOW geändert wird. In der Praxis ist es nicht ganz so. Aufgrund der mechanischen und physikalischen Eigenschaften könnte der Zustand des Knopfs (oder Schalters) mehrmals zwischen LOW und HIGH umgeschaltet werden. Dieses Phänomen wird als Prellen bezeichnet. Dieses Phänomen kann dazu führen, dass ein einzelner Druck als mehrere Drucke gelesen wird, was in einigen Anwendungen zu Fehlfunktionen führt. Dieses Tutorial zeigt, wie man dieses Phänomen beseitigt (das Eingangsentprellen).

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

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Schauen wir uns den Arduino-Code ohne Entprellung und mit Entprellung an und vergleichen dessen Verhalten.
Lesetaste mit Entprellung
Schnelle Schritte
- Kopieren Sie den untenstehenden Code und öffnen Sie ihn mit der Arduino IDE.
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino-IDE, um den Code auf den Arduino hochzuladen.
- Öffnen Sie den seriellen Monitor.
- Halten Sie die Taste mehrere Sekunden gedrückt und lassen Sie sie dann los.
- Sehen Sie das Ergebnis im seriellen Monitor.
⇒ Wie Sie sehen können, haben Sie den Knopf nur einmal gedrückt und losgelassen. Arduino erkennt dies als den einzigen Druck- und Loslassvorgang. Das Prellen wird eliminiert.
Wir haben es einfach gemacht - Arduino-Tasten-Entprellungs-Code mit einer Bibliothek
Um Anfängern das Leben deutlich zu erleichtern, insbesondere beim Verwenden mehrerer Tasten, haben wir eine Bibliothek namens ezButton erstellt. Sie können hier Mehr über die ezButton-Bibliothek erfahren.
Arduino-Entprellungscode für einen einzelnen Button
Arduino-Entprellcode für mehrere Tasten
Der Schaltplan zum obigen Code:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
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.
Zusätzliches Wissen
- DEBOUNCE_DELAY Der Wert hängt von den Anwendungen ab. Unterschiedliche Anwendungen können unterschiedliche Werte verwenden.
Erweiterbarkeit
Die Entprellmethode kann bei Schaltern und Berührungssensoren angewendet werden.