Arduino Nano - Deursensor - Relais

Deze tutorial legt uit hoe u de Arduino Nano en een deursensor gebruikt om een relais te besturen. Door het relais aan te sluiten op een solenoïde slot, gloeilamp, LED-strip, motor of actuator..., kunnen we een deursensor gebruiken om deze te regelen. We leren twee verschillende toepassingen:

Toepassing 1 - Het relais wordt geactiveerd wanneer de deur open is en gedeactiveerd wanneer de deur gesloten is. De relaisstatus is gesynchroniseerd met de status van de deursensor. In detail:

Toepassing 2 - De relaisstatus wordt telkens omgeschakeld wanneer de deur wordt geopend. Specifieker:

Over Relais en Deursensor

Als u niet bekend bent met het relais en de deursensor (inclusief pinout, werking en programmering), kunnen de volgende tutorials u helpen:

Bedradingsschema

Arduino Nano deursensor relais bedrading schema

This image is created using Fritzing. Click to enlarge image

Toepassing 1 - Relaisstatus is gesynchroniseerd met de status van de deursensor

Arduino Nano Code

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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 } }

Snelle Stappen

  • Verbind een Arduino Nano met uw computer via een USB-kabel.
  • Start de Arduino IDE en selecteer het juiste bord en de juiste poort.
  • Kopieer de code en open deze in de Arduino IDE.
  • Klik op de Upload knop in de Arduino IDE om de code te compileren en naar de Arduino Nano te uploaden.
Arduino IDE Code Uploaden
  • Open en sluit de deur.
  • Observeer de verandering in de status van het relais.

U zult zien dat de relaisstatus synchroon loopt met de status van de deursensor.

Code Uitleg

Bekijk de regel-voor-regel uitleg die in de commentaarregels van de broncode staat!

Toepassing 2 - Deursensor schakelt Relais

Arduino Nano Code - Deursensor schakelt Relais

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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 Uitleg

De uitleg vindt u in de commentaarregels van de bovenstaande Arduino Nano code.

In de code is de expressie relay_state = !relay_state gelijk aan de volgende code:

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

Snelle Stappen

  • Kopieer de code en open deze in de Arduino IDE.
  • Upload de code naar de Arduino Nano.
  • Open en sluit de deur meerdere keren.
  • Observeer de verandering in de status van het relais.

U zult merken dat het relais telkens aan- of uitschakelt zodra u de deur opent.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!