Grundschaltungen: Digitaler Eingang, Schalter

Die 14 digitalen IO-Ports des Arduino bzw. Olimexino lassen sich alle als Eingang konfigurieren. Fragt man nun aber im Programm den Zustand eines Eingangs ab, ist es rein zufällig ob sich der Arduino für LOW oder HIGH entscheidet.

digital-in-taster-2

Um dies zu verhindern benutzt man allgemein einen Widerstand um den Eingang auf einen definierten Zustand zu ziehen (pull). Je nachdem ob man den Eingang (solange der Taster nicht gedrückt ist) auf LOW oder HIGH haben möchte legt man den Widerstand vom Eingang auf GND oder Plus und nennt dies dann Pull-Down oder Pull-Up.

In unserer Beispielschaltung verwenden wir einen Pull-Up-Widerstand um den Eingang auf HIGH zu bringen. Beim Betätigen des Tasters fließt der Strom dann zu GND und der Eingang wird LOW. Dafür ist 10 KOhm ein üblicher Wert. Wer keinen Widerstand dieser Größe hat kann auch einen kleineren nehmen, im Beispiel funktioniert es auch mit 560 Ohm, verbraucht dann aber mehr Strom.

Schaltplangröße:

1afbgchdie1j55101015152020252530afbgchdie30jOlimexino-32U4 (Arduino compatible) - http://blog.simtronyx.de - SVG created by Ronny Simon - All rights reserved.
Für weitere Informationen (z.B. Pinbelegungen von Bauteilen oder genaue Kabelverbindungen)
mit der Maus über Elemente fahren (oder im Touch-Modus: Elemente antippen)...


Bauteile:

Breadboard
Taster
Arduino
LED
Widerstand560Ohm
Widerstand560Ohm

Programmcode:

int schalterPin = 8;     // der Pin für den Taster
int ledPin =  6;      // der Pin für die LED 

int zustand = 0;    // in dieser Variable wird der Zustand des Eingangs gespeichert

void setup() {

pinMode(ledPin, OUTPUT); // der Pin für die LED wird zum Ausgang
pinMode(schalterPin, INPUT); // der Pin für die Taster wird zum Eingang
}

void loop(){
zustand = digitalRead(schalterPin);
/* der Eingang ist durch den Widerstand auf HIGH und geht,
wenn der Taster gedrückt wird, auf LOW */
if (zustand == HIGH) {
digitalWrite(ledPin, LOW);
}
else {
digitalWrite(ledPin, HIGH);
}
}

 

Bauteile (Bezugsquellen):

eBay: Arduino
Breadboard
Breadboard Kabel
Amazon: Arduino
Breadboard
Breadboard Kabel

Gut?

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail