Arduino Mega - Türsensor

Diese Anleitung zeigt Ihnen, wie Sie ein Arduino Mega und einen Türsensor verwenden, um zu überprüfen, ob Ihre Tür oder Ihr Fenster geöffnet oder geschlossen ist. Wir lernen, wie man den Türsensor installiert, ihn an das Arduino anschließt und wie man ein Programm für das Arduino schreibt, um den Status des Sensors zu lesen.

Arduino Mega door sensor

Benötigte Hardware

1×Arduino Mega
1×USB 2.0 Kabel Typ A/B
1×Türsensor
1×(Empfohlen) Screw Terminal Block Shield for Arduino Uno/Mega
1×(Empfohlen) Breadboard Shield for Arduino Mega
1×(Empfohlen) Enclosure for Arduino Mega

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über den Türsensor

Pinbelegung

Der Türsensor besteht aus zwei Teilen.

  • Ein Reed-Schalter mit zwei Metallanschlüssen
  • Ein Magnet
Door Sensor Pinout

Wie bei einem normalen Schalter oder Button müssen Sie die beiden Pins des Reed-Schalters nicht unterscheiden.

Funktionsweise

Ein Magnet wird an der Tür oder dem Fenster befestigt, welches sich bewegt. Der Reed-Schalter wird am Türrahmen befestigt, der still steht. Wenn die Tür schließt, kommen der Magnet und der Reed-Schalter zusammen.

  • Wenn der Magnet nah am Reed-Schalter ist, schließt sich der Stromkreis.
  • Wenn der Magnet weit vom Reed-Schalter entfernt ist, öffnet sich der Stromkreis.
Door Sensor How It Works Pinout

※ Notiz:

Der Reed-Schalter gibt von sich aus kein LOW- oder HIGH-Signal. Er zeigt nur offen oder geschlossen an. Die Art, wie Sie ihn an das Arduino Mega anschließen, entscheidet darüber, ob der Pin LOW, HIGH oder schwebend (unvorhersagbar) liest. Um Schwebung zu vermeiden, fügen Sie einen Pull-up- oder Pull-down-Widerstand zum Pin am Arduino Mega hinzu.

Wenn wir einen Pin des Reed-Schalters mit der Masse verbinden und den anderen Pin mit einem Eingangspin am Arduino Mega mit einem Pull-up-Widerstand (er kann eingebaut oder separat hinzugefügt werden):

  • Wenn der Magnet nah am Reed-Schalter ist, zeigt der Eingangspin des Arduino Mega LOW an.
  • Wenn der Magnet weit vom Reed-Schalter entfernt ist, zeigt der Eingangspin des Arduino Mega HIGH an.

Also:

  • Um zu sehen, ob die Tür offen oder geschlossen ist, schauen Sie auf den Pin am Arduino Mega.
    • Wenn der Pin LOW ist, ist die Tür geschlossen.
    • Wenn der Pin HIGH ist, ist die Tür offen.
  • Um zu wissen, wann sich die Tür öffnet oder schließt, beobachten Sie Änderungen an diesem Pin:
    • 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.

Schaltplan

Arduino Mega Door Sensor Wiring Diagram

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

Programmierung für den Türsensor

  • Am Arduino Mega wird ein Pin mit der pinMode() Funktion als digitaler Eingang eingestellt. Zum Beispiel Pin 9.
pinMode(9, INPUT_PULLUP);
  • Liest den Pin-Status am Arduino Mega mit der digitalRead() Funktion.
int door_state = digitalRead(9);

Arduino Mega Code - Türöffnungs- und Türschließungsstatus prüfen

/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega 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-mega/arduino-mega-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino Mega 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 Schritte nacheinander.

  • Verbinden Sie die Teile entsprechend dem Diagramm.
  • Verbinden Sie das Arduino Mega mit einem USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige Board: Arduino Mega, und den richtigen COM-Port.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Upload Schaltfläche, um den Code an das Arduino Mega zu senden.
  • Bringen Sie den Magneten nah an den Reed-Schalter, dann entfernen Sie ihn wieder.
  • Ü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 Mega Code - Türöffnungs- und Türschließungsereignisse erkennen

/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega 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-mega/arduino-mega-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino Mega 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 auf die Upload Schaltfläche in der Arduino IDE, um den Code auf Ihr Arduino Mega hochzuladen.
  • Bringen Sie einen Magneten in die Nähe des Reed-Schalters, dann entfernen Sie ihn wieder.
  • Ü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.

Verwandte Tutorials

※ 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!