Warum Widerstände bei Drucktastern und Schaltern mit dem Arduino verwenden

Warum Widerstände bei Drucktastern und Schaltern mit dem Arduino verwenden

Dieses Tutorial erklärt, warum die Verwendung eines Widerstands bei an ein Arduino angeschlossenen Drucktastern und Schaltern für einen zuverlässigen Betrieb entscheidend ist. Das Verständnis dieses Konzepts ist grundlegend für jedes Arduino-Projekt, das Benutzereingaben umfasst. Dieses Wissen verhindert unerwartetes Verhalten und sorgt dafür, dass Ihre Projekte korrekt funktionieren. Hier sind einige Projektideen, bei denen dieses Wissen unerlässlich ist:

  • Einfacher Ein-/Aus-Schalter für eine LED
  • Interaktiver Spielcontroller
  • Fernbedienung für Haushaltsgeräte
  • Sicherheitssystem mit Drucktastenaktivierung

Lassen Sie uns die Gründe untersuchen, warum in diesen Schaltungen Widerstände verwendet werden.

Arduino wiring for Push button wihthout resistor

Hardware/Komponenten

Die Kernkomponenten, die für dieses Projekt benötigt werden, sind minimal: ein Arduino-Board, ein Drucktaster und ein Widerstand (größer als 300 Ohm). Der Widerstandswert ist nicht kritisch; Werte wie 1kΩ, 10kΩ oder sogar 100kΩ funktionieren in der Regel gut (im Video bei 00:41).

Verdrahtungsanleitung

Es gibt zwei primäre Verdrahtungskonfigurationen (im Video bei 00:30):

  1. Konfiguration 1:Verbinden Sie den Drucktaster zwischen dem Arduino-Pin und +5V. Die andere Seite des Drucktasters ist über einen Widerstand mit Masse verbunden. Wenn der Taster gedrückt ist, liest der Pin HIGH; wenn er losgelassen ist, liest er LOW.
  2. Konfiguration 2:Verbinde den Drucktaster zwischen dem Arduino-Pin und Masse. Die andere Seite des Drucktasters ist über einen Widerstand mit +5V verbunden. Wenn der Drucktaster gedrückt wird, liest der Pin LOW; wenn er losgelassen wird, liest er HIGH.

Arduino wriring for push button and LED
Arduino wriring for push button and LED

Ein visuelles Verdrahtungsdiagramm wäre hier von Vorteil.

Erklärung des Codes

Der Arduino-Code verwendet diepinMode()Funktion, um den Pin als Eingang zu konfigurieren. Der entscheidende Teil ist die Verwendung vonINPUT_PULLUP(im Video bei 04:06, 04:23). Dieser interne Pull-up-Widerstand macht in bestimmten Konfigurationen einen externen Widerstand überflüssig und vereinfacht so die Verdrahtung. DerdigitalRead()Die Funktion liest den Zustand des Pins und ein einfachesif-elseDie Anweisung bestimmt, ob die Taste gedrückt ist (LOW) oder nicht (HIGH) (im Video bei 08:34).


pinMode(2, INPUT_PULLUP); // Configures pin 2 as input with internal pull-up resistor
int pushButton = digitalRead(2); // Reads the state of pin 2
if (pushButton == LOW) {
  // Button is pressed
} else {
  // Button is not pressed
}

Live-Projekt/Demonstration

Das Video zeigt beide Verdrahtungskonfigurationen und deren jeweiliges Verhalten. Es hebt die Probleme hervor, die auftreten können, wenn der Widerstand weggelassen wird, wie etwa sprunghafte Messwerte durch Rauschen und kapazitive Kopplung (im Video bei 06:18, 06:39, 07:21). Die Demonstration zeigt deutlich den stabilen und zuverlässigen Betrieb, der mit eingesetztem Widerstand erreicht wird (im Video bei 08:08).

Kapitel

  • [00:00] Einleitung
  • [00:30] Verdrahtungskonfigurationen
  • [04:12] Erklärung des Codes unter Verwendung von INPUT_PULLUP
  • [05:36] Entfernen des Widerstands: Praktische Demonstration
  • [08:33] Code-Erklärung

Bilder

Warum sollten wir einen Widerstand mit einem Taster beim Arduino verwenden?
Warum sollten wir einen Widerstand mit einem Taster beim Arduino verwenden?
Warum sollten wir einen Widerstand mit einem Taster und Arduino verwenden?
Warum sollten wir einen Widerstand mit einem Taster und Arduino verwenden?
2 pin tactile push button switch
2 pin tactile push button switch
Arduino wriring for push button and LED
Arduino wriring for push button and LED
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button wihthout resistor
Arduino wiring for Push button wihthout resistor
132-Code example using a resistor
Sprache: C++
133-Code example using INPUT_PULLUP without a resistor
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Keine Dateien verfügbar.