Zpět na články

ESP32 + dveřní senzor (reed switch) – jednoduchý projekt

ESP32 s magnetickým senzorem detekuje otevření a zavření dveří v reálném čase.

ESP32 + dveřní senzor (reed switch) – jednoduchý projekt

V tomto projektu vytvoříš jednoduchý systém, který sleduje, jestli jsou dveře otevřené nebo zavřené. Jako senzor se používá magnetický kontakt (reed switch), který mění stav podle vzdálenosti magnetu.

ESP32 pak tento stav čte a může ho zobrazit například v Serial Monitoru nebo použít pro další automatizaci.

ESP32 Blog image

Jak funguje dveřní senzor

Dveřní senzor se skládá ze dvou částí:

  • magnet (umístěný na dveřích)
  • reed switch (umístěný na rámu)

Princip:

  • když jsou dveře zavřené → magnet je blízko → obvod je sepnutý
  • když se dveře otevřou → magnet se vzdálí → obvod se rozepne

ESP32 tento stav čte jako digitální signál (HIGH / LOW).

ESP32 Blog image

Co potřebuješ

Pro projekt budeš potřebovat:

  • ESP32
  • magnetický reed switch (dveřní senzor)
  • rezistor 10 kΩ (pull-up nebo pull-down)
  • breadboard
  • propojovací vodiče

Zapojení (převedeno z tabulky / schématu)

  • jeden pin reed switch → GND
  • druhý pin reed switch → GPIO (např. GPIO 4)
  • použij interní nebo externí pull-up rezistor

Tip:

  • nejčastější zapojení je INPUT_PULLUP, kdy je klidový stav HIGH a při sepnutí LOW
ESP32 Blog image

Kompletní kód (Arduino IDE)

door.cpp
1const int reedSwitch = 4; // pin senzoru 2const int led = 2; // vestavěná LED (volitelné) 3 4bool doorState = false; 5bool lastState = false; 6 7void setup() { 8 Serial.begin(115200); 9 10 pinMode(reedSwitch, INPUT_PULLUP); 11 pinMode(led, OUTPUT); 12 13 Serial.println("Door sensor ready"); 14} 15 16void loop() { 17 bool state = digitalRead(reedSwitch); 18 19 // invertujeme logiku (LOW = zavreno, HIGH = otevreno) 20 if (state == LOW) { 21 doorState = false; // zavřeno 22 } else { 23 doorState = true; // otevřeno 24 } 25 26 // detekce změny stavu 27 if (doorState != lastState) { 28 if (doorState) { 29 Serial.println("Dvere OTEVRENY"); 30 digitalWrite(led, HIGH); 31 } else { 32 Serial.println("Dvere ZAVRENY"); 33 digitalWrite(led, LOW); 34 } 35 lastState = doorState; 36 } 37 38 delay(100); 39}

Jak to funguje (logika kódu)

  • digitalRead() čte stav senzoru
  • při změně stavu (otevření/zavření) se vypíše zpráva
  • LED může signalizovat otevřené dveře
  • používá se jednoduchá kontrola změny, aby se nevypisovalo pořád dokola

Tipy a vylepšení

  • přidej debounce (zpoždění), aby se eliminovalo „kmitání“ kontaktu
  • použij interrupt místo loop pro rychlejší reakci
  • napoj to na:
    • alarm
    • smart home
    • logování do databáze

Shrnutí

Pomocí ESP32 a reed switch senzoru můžeš jednoduše sledovat stav dveří. Projekt je ideální jako základ pro zabezpečení, automatizaci nebo chytrou domácnost.

Nakupte svoje ESP32 ještě dnes!

Doprava Zásilkovnou za 89 Kč
Platba dobírkou
Vrácení do 30 dnů
Omezené zásoby - skladem

ESP32-S3 DevKit USB-C

Kompletní vývojová deska s USB-C

240MHz dvoujádrový
WiFi 802.11 b/g/n
Bluetooth 4.2 + BLE
4MB Flash paměť
520KB SRAM
38 GPIO pinů
209za kus

Množstevní slevy:

1
Celkem
209
Objednat

Bezpečná platba při převzetí zásilky nebo online platba přes Comgate, a.s.