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-Up Widerstand verbauen. 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.

 

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

2 Gedanken zu „Reedkontakt / Schalter abfragen

  • 18. September 2018 um 20:36
    Permalink

    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?

    Antwort
    • 19. September 2018 um 6:35
      Permalink

      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 🙂

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere