Arduino - Verbindungsschalter
Drucktasten oder Schalter verbinden zwei offene Klemmen in einem Stromkreis. In diesem Beispiel wird die LED an Pin 2 eingeschaltet, wenn Sie den an Pin 8 angeschlossenen Druckschalter drücken.
Pulldown-Widerstand
Pull-Down-Widerstände werden in elektronischen Logikschaltungen verwendet, um sicherzustellen, dass die Eingänge von Arduino auf den erwarteten Logikpegeln liegen, wenn externe Geräte getrennt oder hochohmig sind. Da nichts mit einem Eingangspin verbunden ist, bedeutet dies nicht, dass es sich um eine logische Null handelt. Pulldown-Widerstände werden zwischen Masse und dem entsprechenden Stift am Gerät angeschlossen.
Ein Beispiel für einen Pulldown-Widerstand in einer digitalen Schaltung ist in der folgenden Abbildung dargestellt. Ein Druckschalter ist zwischen der Versorgungsspannung und einem Mikrocontroller-Pin angeschlossen. Wenn in einem solchen Stromkreis der Schalter geschlossen ist, hat der Mikrocontrollereingang einen logisch hohen Wert, aber wenn der Schalter geöffnet ist, zieht der Pulldown-Widerstand die Eingangsspannung auf Masse (logischer Nullwert), um dies zu verhindern ein undefinierter Zustand am Eingang.
Der Pulldown-Widerstand muss einen größeren Widerstand als die Impedanz der Logikschaltung haben, da er sonst die Spannung zu stark nach unten zieht und die Eingangsspannung am Pin unabhängig von der Schalterposition auf einem konstant logisch niedrigen Wert bleibt.
Erforderliche Komponenten
Sie benötigen folgende Komponenten:
- 1 × Arduino UNO Board
- 1 × 330 Ohm Widerstand
- 1 × 4,7 kOhm Widerstand (nach unten ziehen)
- 1 × LED
Verfahren
Folgen Sie dem Schaltplan und stellen Sie die Verbindungen wie in der Abbildung unten gezeigt her.
Skizzieren
Öffnen Sie die Arduino IDE-Software auf Ihrem Computer. Die Codierung in der Arduino-Sprache steuert Ihre Schaltung. Öffnen Sie eine neue Skizzendatei, indem Sie auf Neu klicken.
Arduino Code
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 8; // the number of the pushbutton pin
const int ledPin = 2; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
Zu beachtender Code
Wenn der Schalter geöffnet ist (Drucktaste wird nicht gedrückt), besteht keine Verbindung zwischen den beiden Anschlüssen der Drucktaste, sodass der Stift mit der Masse verbunden ist (über den Pulldown-Widerstand) und ein LOW angezeigt wird. Wenn der Schalter geschlossen ist (Drucktaste gedrückt wird), stellt er eine Verbindung zwischen seinen beiden Klemmen her und verbindet den Pin mit 5 Volt, so dass wir ein HIGH lesen.
Ergebnis
Die LED leuchtet, wenn der Druckknopf gedrückt wird, und aus, wenn er losgelassen wird.