Arduino UNO R4 - Türsensor

Dieses Tutorial zeigt Ihnen, wie man einen Arduino UNO R4 und einen Türsensor verwendet, um den offenen oder geschlossenen Zustand Ihrer Tür oder Ihres Fensters zu überwachen. Wir lernen, wie man den Türsensor installiert und mit dem Arduino verbindet, und anschließend, wie man den Arduino programmiert, um den Zustand des Türsensors auszulesen.

Arduino UNO R4 Türsensor

Über Türsensor

Pinbelegung

Der Türsensor besteht aus zwei Teilen.

  • Ein Reed-Schalter mit zwei Metallanschlüssen
  • Ein Magnet
Türsensor-Pinbelegung

Wie bei einem gewöhnlichen Schalter oder Knopf müssen wir nicht zwischen den beiden Kontakten des Reed-Schalters unterscheiden.

Wie es funktioniert

Der Magnet ist an der beweglichen Tür oder dem Fenster befestigt, und der Reed-Schalter ist am feststehenden Türrahmen befestigt. Wenn die Tür geschlossen ist, liegen diese beiden Teile eng beieinander.

  • Wenn sich der Magnet in der Nähe des Reed-Schalters befindet, wird der Schaltkreis des Reed-Schalters geschlossen.
  • Wenn sich der Magnet vom Reed-Schalter entfernt, wird der Schaltkreis des Reed-Schalters geöffnet.
Türsensor – Funktionsweise – Pinbelegung

※ Notiz:

Der Reed-Schalter liefert nicht direkt LOW- oder HIGH-Signale. Er zeigt nur offene oder geschlossene Zustände. Wie wir ihn mit dem Arduino UNO R4 verbinden, beeinflusst, ob der Pin als LOW, HIGH gelesen wird oder einen schwebenden Wert annimmt (welcher unvorhersehbar ist). Um diesen schwebenden Wert zu verhindern, müssen wir einen Pull-up- oder Pull-down-Widerstand an den Pin des Arduino UNO R4 anschließen.

Wenn wir einen Pin des Reed-Schalters mit GND verbinden und den anderen Pin an einen Eingangspin des Arduino UNO R4 mit einem Pull-up-Widerstand anschließen (er kann integriert sein oder separat hinzugefügt werden):

  • Wenn der Magnet in der Nähe des Reed-Schalters ist, liest der Eingangs-Pin des Arduino UNO R4 LOW.
  • Wenn der Magnet sich vom Reed-Schalter entfernt, liest die Eingangs-LED des Arduino UNO R4 HIGH.

Somit:

  • Um herauszufinden, ob die Tür offen oder geschlossen ist, schauen Sie auf den Eingangs-Pin des Arduino UNO R4:
    • Wenn der Pin LOW anzeigt, ist die Tür geschlossen.
    • Wenn der Pin HIGH anzeigt, ist die Tür offen.
  • Um zu wissen, wann die Tür sich öffnet oder schließt, beobachten Sie Änderungen des Zustands des Eingangs-Pins des Arduino UNO R4:
    • Eine Änderung von LOW zu HIGH bedeutet, dass sich die Tür öffnet.
    • Eine Änderung von HIGH zu LOW bedeutet, dass sich die Tür schließt.

Verdrahtungsdiagramm

Arduino UNO R4 Türsensor-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Wie man einen Türsensor programmiert

  • Der Pin des Arduino UNO R4 wird mit der Funktion [pinMode()] in den digitalen Eingangsmodus gesetzt. Zum Beispiel Pin 9.
pinMode(9, INPUT_PULLUP);
  • Liest den Zustand des Arduino UNO R4-Pins mithilfe der digitalRead() Funktion.
int door_state = digitalRead(9);

Arduino UNO R4 Code - Überprüfung des Türöffnungs- und Türschließzustands

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-r4/arduino-uno-r4-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino UNO R4 pin connected to door sensor's pin int door_state; void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode } void loop() { door_state = digitalRead(DOOR_SENSOR_PIN); // read state if (door_state == HIGH) { Serial.println("The door is open"); } else { Serial.println("The door is closed"); } }

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn dies das erste Mal ist, dass Sie den Arduino UNO R4 WiFi/Minima verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino UNO R4 WiFi/Minima in der Arduino IDE.
  • Verbinden Sie die Komponenten gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino UNO R4-Board mit einem USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino UNO R4 WiFi-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino UNO R4 hochzuladen.
  • Führen Sie den Magneten nahe an den Reed-Schalter heran und bewegen Sie ihn anschließend vom Reed-Schalter weg.
  • Überprüfen Sie die Ergebnisse im Serial Monitor.
COM6
Send
The door is open The door is open The door is closed The door is closed The door is closed The door is closed The door is closed The door is open The door is open
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Arduino UNO R4 Code - Erkennung von Türöffnungs- und Türschließungsereignissen

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-r4/arduino-uno-r4-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino UNO R4 pin connected to door sensor's pin int door_state; // current state of door sensor int prev_door_state; // previous state of door sensor void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode door_state = digitalRead(DOOR_SENSOR_PIN); // read state } void loop() { prev_door_state = door_state; // save the last state door_state = digitalRead(DOOR_SENSOR_PIN); // read new state if (prev_door_state == LOW && door_state == HIGH) { // state change: LOW -> HIGH Serial.println("The door opening is detected"); // TODO: turn on alarm, light or send notification ... } else if (prev_door_state == HIGH && door_state == LOW) { // state change: HIGH -> LOW Serial.println("The door closing is detected"); // TODO: turn off alarm, light or send notification ... } }
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie im Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf Ihren Arduino UNO R4 zu übertragen.
  • Bringen Sie einen Magneten nahe an den Reed-Schalter heran, und bewegen Sie ihn danach vom Reed-Schalter weg.
  • Überprüfen Sie die Ergebnisse im Serial Monitor.
COM6
Send
The door closing is detected The door opening is detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!