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.

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).

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

Kompletní kód (Arduino IDE)
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.
