Reedkontakt / Schalter abfragen
In diesem Artikel zeige ich Dir, wie Du den Zustand eines Schalters (Taster, Schalter oder auch Reedkontakt) auswerten kannst.
Bevor wir mit dem Aufbau der Schaltung und der Programmierung beginnen, hier zunächst die Liste der verwendeten Materialen:
Aufbau der Schaltung
Im ersten Schritt bauen wir uns nun unsere Schaltung auf dem Breadboard auf. Dabei verbinden wir 3,3V mit dem Button sowie mit dem digitalen Eingang D1. Zusätzlich müssen wir einen Pull-Down Widerstand verbauen, mit dem der Pin wieder auf LOW gezogen wird. Ich habe einen 10K-Ohm Widerstand mit GND und der geschalteten Seite des Buttons oder Reed-Kontakts verbunden.
Programmierung
int pinStatusGaragenTor = D1;
void setup()
{
Serial.begin(115200);
pinMode(pinStatusGaragenTor, INPUT);
}
void loop()
{
if (digitalRead(pinStatusGaragenTor) == LOW)
{
Serial.println("Open");
}
else
{
Serial.println("Closed");
}
}
Im Sketch wird in der Setup-Methode der pinMode auf Input (Eingabe) gesetzt. In der Loop-Methode fragen wir nun per digitalRead() den Zustand des Pins ab und können dann entsprechend reagieren. Im Beispiel erfolgen die Ausgaben per Serial Klasse.
Ich hoffe Dir gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂
Also einen DHT22 kann ich super betreiben, aber beim Schalter hört es anscheinend auf. Ich habe einfach einfach ein Kabel zum Test genommen und es zwischen 3v-Kontakt und D3 geführt. ganz einfach. aber es geht nicht. kannst Du helfen?
Ja, das liegt vermutlich an einem noch fehlenden PullUp-Widerstand 🙁 Ich hatte den im Artikel völlig übersehen. Ich werde den Artikel spätestens zum Wochenende anpassen und ergänzen, dann klappts 🙂
Öhm….
Wenn er gegen Masse (0V) geschalten ist, ist es aber ein pull Down Widerstand, kein pull up.
Oder verstehe ich das falsch?
Es soll das Potential des IO Pins auf GND (0V) gezogen werden wenn der Taster nicht geschlossen ist.
Also Pull-Down.
Hallo Karl,
natürlich vollkommen richtig, hier muss ein Pull-Down Widerstand verbaut werden! Ich habe den Artikel gerade aktualisiert, danke für Deinen aufmerksamen Hinweis!
Viele Grüße,
Matthias
Wie sieht es mit der Entprellung aus, wenn ich die Schaktung so aufbaue, erkennt der Sensor Signale, welche auch angeben wenn die Lokomotive noch gar nicht beim „Sensor“ ist?