Arduino Nano - Capteur de porte - Relais

Ce tutoriel vous explique comment utiliser l'Arduino Nano et un capteur de porte pour contrôler un relais. En connectant le relais à un verrou à solénoïde, une ampoule, une bande LED, un moteur ou un actionneur..., nous pouvons utiliser un capteur de porte pour les contrôler. Nous allons apprendre deux applications différentes :

Application 1 - Le relais est activé lorsque la porte est ouverte et le relais est désactivé lorsque la porte est fermée. L'état du relais est synchronisé avec l'état du capteur de porte. En détail :

Application 2 - L'état du relais est basculé chaque fois que la porte est ouverte. Plus précisément :

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×Door Sensor
1×Relay
1×Breadboard
1×Jumper Wires
1×(Optional) Solenoid Lock
1×(Optional) 12V Power Adapter
1×(Optional) DC Power Jack
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du relais et du capteur de porte

Si vous ne connaissez pas les relais et capteurs de porte (y compris le brochage, le fonctionnement et la programmation), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Schéma de câblage du relais de capteur de porte Arduino Nano

This image is created using Fritzing. Click to enlarge image

Application 1 - L'état du relais est synchronisé avec l'état du capteur de porte.

Code Arduino Nano

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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 } }

Étapes rapides

  • Connectez un Arduino Nano à votre ordinateur avec un câble USB.
  • Lancez l'IDE Arduino et sélectionnez la carte et le port corrects.
  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code sur l'Arduino Nano.
Téléversement de code Arduino IDE
  • Ouvrez et fermez la porte
  • Vérifiez le changement d'état du relais.

Vous verrez que l'état du relais est synchronisé avec l'état du capteur de porte.

Explication du code

Découvrez l'explication ligne par ligne contenue dans les commentaires du code source !

Application 2 - Capteur de porte actionne le relais

Code Arduino Nano - Capteur de porte bascule Relais

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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); } }

Explication du code

Vous pouvez trouver l'explication dans les lignes de commentaire du code Arduino Nano ci-dessus.

Dans le code, l'expression relay_state = !relay_state est équivalente au code suivant :

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

Étapes rapides

  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Téléchargez le code sur l'Arduino Nano.
  • Ouvrez et fermez la porte plusieurs fois.
  • Vérifiez le changement d'état du relais.

Vous remarquerez que le relais s'activera ou se désactivera une fois à chaque fois que vous fermerez la porte.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!