ESP32 - Deursensor

De deursensor (ook bekend als ingangssensor, contactsensor of raamsensor) wordt veel gebruikt in allerlei toepassingen, vooral voor beveiliging. Hij wordt gebruikt om ingangen te detecteren/monitoren (zoals deuren, ramen, enzovoort). In deze handleiding leert u hoe u een ESP32 samen met de deursensor gebruikt.

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Deursensor
1×(optioneel) DC Power Jack
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingdraden)
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de Deursensor

Deursensor Pinout

De deursensor bestaat uit twee componenten:

  • Eén magneet
  • Eén reed switch, die twee draadjes heeft
Deursensor Pinout

Net als bij een schakelaar/knop hoeft u de twee draadjes van de reed switch NIET te onderscheiden.

Hoe werkt de Deursensor

De magneet en de reed switch worden als volgt op de deur/ramen bevestigd:

  • De magneet is het beweegbare deel. Deze wordt op de deur/het raam bevestigd.
  • De reed switch is het vaste deel. Deze wordt op het deurkozijn bevestigd.

De twee componenten maken contact wanneer de deur gesloten is.

  • Het circuit van de reed switch is gesloten wanneer deze dicht bij de magneet is
  • Het circuit van de reed switch is open wanneer deze ver van de magneet verwijderd is
Hoe de deursensor werkt

※ Notiz:

Net als bij een knop, MOET u op de ESP32-pin die met de reed switch is verbonden een pull-up of pull-down weerstand gebruiken.

Als we de reed switch als volgt aansluiten: één draad op GND, de andere op een ESP32-ingangspin met een pull-up weerstand:

  • Is de ESP32-ingangspin LOW wanneer de magneet vlak bij de reed switch is
  • Is de ESP32-ingangspin HIGH wanneer de magneet ver van de reed switch is

Dus:

  • Als de ESP32-ingangpin LOW is, is de deur gesloten
  • Als de ESP32-ingangpin HIGH is, is de deur open
  • Als de ESP32-ingangpin verandert van LOW naar HIGH, gaat de deur open
  • Als de ESP32-ingangpin verandert van HIGH naar LOW, gaat de deur dicht

Bedradingsschema tussen Deursensor en ESP32

  • Hoe ESP32 en deursensor aan te sluiten met behulp van een breadboard
ESP32 Deursensor Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Hoe ESP32 en deursensor aan te sluiten

Hoe de Deursensor te Programmeren

  • Initialiseer de ESP32-pin als digitale invoer (input) met behulp van de functie pinMode(). Bijvoorbeeld pin GPIO19
pinMode(19, INPUT_PULLUP);
  • Lees de status van de ESP32-pin uit met de functie digitalRead().
int doorState = digitalRead(19);

ESP32 Code - Controleer of de deur open of dicht is

/* * 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 */ #define DOOR_SENSOR_PIN 19 // ESP32 pin GPIO19 connected to door sensor's pin int doorState; void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode } void loop() { doorState = digitalRead(DOOR_SENSOR_PIN); // read state if (doorState == HIGH) { Serial.println("The door is open"); } else { Serial.println("The door is closed"); } }

Snelle Stappen

  • Als u voor het eerst met ESP32 werkt, zie hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Kopieer bovenstaande code en plak deze in Arduino IDE.
  • Compileer en upload de code naar het ESP32-bord door op de Upload-knop in Arduino IDE te klikken.
  • Beweeg de magneet dichtbij de reed switch en vervolgens weer ver weg.
  • Bekijk het resultaat op de Seriële Monitor. Dit ziet eruit zoals hieronder:
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  

ESP32 Code - Detecteer het openen en sluiten van de deur

/* * 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 */ #define DOOR_SENSOR_PIN 19 // ESP32 pin GPIO19 connected to door sensor's pin int currentDoorState; // current state of door sensor int lastDoorState; // previous 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 currentDoorState = digitalRead(DOOR_SENSOR_PIN); // read state } void loop() { lastDoorState = currentDoorState; // save the last state currentDoorState = digitalRead(DOOR_SENSOR_PIN); // read new state if (lastDoorState == LOW && currentDoorState == HIGH) { // state change: LOW -> HIGH Serial.println("The door-opening event is detected"); // TODO: turn on alarm, light or send notification ... } else if (lastDoorState == HIGH && currentDoorState == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected"); // TODO: turn off alarm, light or send notification ... } }
  • Kopieer bovenstaande code en plak deze in Arduino IDE.
  • Compileer en upload de code naar het ESP32-bord door op de Upload-knop in Arduino IDE te klikken.
  • Beweeg de magneet dichtbij de reed switch en vervolgens weer ver weg.
  • Bekijk het resultaat op de Seriële Monitor. Dit ziet eruit zoals hieronder:
COM6
Send
The door-closing event is detected The door-opening event is detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u snel te begrijpen hoe u de deursensor met ESP32 gebruikt.

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