ESP32 - Deursensor schakelt relais

Deze handleiding legt uit hoe u de ESP32 gebruikt om bij het sluiten van de deur de staat van het relais te schakelen.

We kunnen deze tutorial uitbreiden door de deursensor te gebruiken om een led-strip, sirene, lamp of actuator te bedienen… door deze aan het relais te koppelen.

Over Relais en Deursensor

We hebben specifieke tutorials over relais en deursensor. Elke tutorial bevat gedetailleerde informatie en stapsgewijze instructies over hardware pinout, werkingsprincipe, bedrading naar ESP32, en ESP32 code... Leer meer over deze onderwerpen via de volgende links:

Bedradingsschema

ESP32 Door Sensor Relay Wiring Diagram

This image is created using Fritzing. Click to enlarge image

Als u niet weet hoe u ESP32 en andere componenten van stroom moet voorzien, vindt u instructies in de volgende tutorial: Hoe ESP32 van stroom te voorzien.

ESP32 Code - Deursensor schakelt Relais

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-door-sensor-toggle-relay */ #define DOOR_SENSOR_PIN 16 // ESP32 pin GPIO16 connected to door sensor's pin #define RELAY_PIN 26 // ESP32 pin GPIO26 connects to the IN pin of relay // variables will change: int relayState = LOW; // the current state of relay int lastDoorState; // the previous state of door sensor int currentDoorState; // the current state of door sensor void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set ESP32 pin to output mode currentDoorState = digitalRead(DOOR_SENSOR_PIN); } void loop() { lastDoorState = currentDoorState; // save the last state currentDoorState = digitalRead(DOOR_SENSOR_PIN); // read new state if (lastDoorState == HIGH && currentDoorState == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected, toggles state of relay"); // toggle state of relay relayState = !relayState; // control relay arccoding to the toggled state digitalWrite(RELAY_PIN, relayState); } }

Snelle Stappen

  • Als u ESP32 voor het eerst gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Maak de bedrading zoals in bovenstaand schema.
  • Verbind de ESP32 met uw pc via een micro-USB kabel.
  • Open Arduino IDE op uw pc.
  • Selecteer het juiste ESP32 board (bijvoorbeeld ESP32 Dev Module) en de bijbehorende COM-poort.
  • Kopieer de bovenstaande code en plak deze in Arduino IDE.
  • Compileer en upload de code naar het ESP32 board door op de knop Upload te klikken in de Arduino IDE.
  • Beweeg de magneet dicht bij de reed switch en vervolgens ver weg. Herhaal dit meerdere keren.
  • Observeer de verandering in de status van het relais.

Regelsgewijze Code Uitleg

De bovenstaande ESP32 code bevat commentaarregel-voor-regel. Lees alstublieft de opmerkingen in de code!

In de code is relayState = !relayState gelijkwaardig aan de volgende code:

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

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!