Arduino Nano - Türsensor - Relais

Dieses Tutorial erläutert dir, wie du den Arduino Nano und einen Türsensor verwendest, um das Relais zu steuern. Indem man das Relais mit einem Solenoidschloss, einer Glühbirne, einem LED-Streifen, einem Motor oder einem Aktuator verbindet, können wir einen Türsensor verwenden, um sie zu steuern. Wir werden zwei verschiedene Anwendungen kennenlernen:

Anwendung 1 - Das Relais wird aktiviert, wenn die Tür offen ist, und das Relais wird deaktiviert, wenn die Tür geschlossen ist. Der Zustand des Relais ist mit dem Zustand des Türsensors synchronisiert. Im Detail:

Anwendung 2 - Der Relaiszustand wird jedes Mal umgeschaltet, wenn die Tür geöffnet wird. Genauer gesagt:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Türsensor
1×Relais
1×Breadboard
1×Verbindungskabel
1×(Optional) Magnetschloss
1×(Optional) 12V Netzteil
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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 Relais und Türsensor

Wenn Sie mit Relais- und Türsensoren nicht vertraut sind (einschließlich Pinbelegung, Betrieb und Programmierung), können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

Arduino Nano Türsensor Relais-Schaltplan

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

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

Anwendung 1 - Der Relaiszustand ist mit dem Türsensorzustand synchronisiert

Arduino Nano Code

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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-nano/arduino-nano-door-sensor-relay */ #define DOOR_SENSOR_PIN 5 // The Arduino Nano pin connected to the door sensor's pin #define RELAY_PIN 2 // The Arduino Nano pin connected to the relay module int door_state; void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode } void loop() { door_state = digitalRead(DOOR_SENSOR_PIN); // read state if (door_state == HIGH) { Serial.println("The door is open"); digitalWrite(RELAY_PIN, HIGH); // turn on relay } else { Serial.println("The door is closed"); digitalWrite(RELAY_PIN, LOW); // turn off relay } }

Schnelle Schritte

  • Verbinde einen Arduino Nano über ein USB-Kabel mit deinem Computer.
  • Starte die Arduino-IDE und wähle das richtige Board und den richtigen Port.
  • Kopiere den Code und öffne ihn in der Arduino-IDE.
  • Klicke auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code zu kompilieren und auf den Arduino Nano hochzuladen.
Arduino IDE Code hochladen
  • Öffne und schließe die Tür
  • Überprüfe die Veränderung des Zustands des Relais.

Sie werden sehen, dass der Relaiszustand mit dem Zustand des Türsensors übereinstimmt.

Code-Erklärung

Schau dir die zeilenweise Erklärung an, die in den Kommentaren des Quellcodes enthalten ist.

Anwendung 2 - Türsensor schaltet Relais um

Arduino Nano Code - Türsensor schaltet das Relais um

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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-nano/arduino-nano-door-sensor-relay */ #define DOOR_SENSOR_PIN 5 // The Arduino Nano pin connected to the door sensor's pin #define RELAY_PIN 2 // The Arduino Nano pin connected to the relay module int relay_state = LOW; // The current state of relay int prev_door_state; // The previous state of door sensor int door_state; // The current state of door sensor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode door_state = digitalRead(DOOR_SENSOR_PIN); } void loop() { prev_door_state = door_state; // save the last state door_state = digitalRead(DOOR_SENSOR_PIN); // read new state if (prev_door_state == HIGH && door_state == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected"); // toggle state of relay relay_state = !relay_state; // control relay according to the toggled state digitalWrite(RELAY_PIN, relay_state); } }

Code-Erklärung

Sie finden die Erklärung in den Kommentarzeilen des oben gezeigten Arduino-Nano-Codes.

Im Code ist der Ausdruck relay_state = !relay_state äquivalent zum folgenden Code:

if(relay_state == LOW) relay_state = HIGH; else relay_state = LOW;

Schnelle Schritte

  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Laden Sie den Code auf den Arduino Nano hoch.
  • Öffnen Sie die Tür mehrmals und schließen Sie sie mehrmals.
  • Überprüfen Sie die Änderung des Relaiszustands.

Sie werden feststellen, dass das Relais jedes Mal, wenn Sie die Tür schließen, einmal ein- oder ausgeschaltet wird.

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!