Mikrokontrolér ESP32 obsahuje několik zajímavých integrovaných senzorů. Jedním z nich je Hallův senzor (Hall Effect Sensor), který dokáže detekovat změny magnetického pole v okolí čipu.
Díky tomu lze vytvářet projekty, které reagují na přiblížení magnetu, například:
- detekce otevření dveří
- měření otáček kola
- detekce polohy objektu
- bezkontaktní spínače
Velkou výhodou je, že není potřeba žádný externí senzor, protože je již zabudovaný přímo v ESP32.

Co je Hallův efekt
Hallův efekt je fyzikální jev, při kterém se v vodiči vzniká napětí, pokud jím protéká proud a zároveň je vystaven magnetickému poli.
Tento princip objevil Edwin Hall v roce 1879.
Hallův senzor dokáže:
- detekovat sílu magnetického pole
- určit polohu magnetu
- rozpoznat přiblížení nebo vzdálení magnetu
Pokud je magnet blíže k senzoru, hodnota měření se výrazně změní.

Umístění Hall senzoru v ESP32
Hallův senzor je umístěn uvnitř čipu ESP32, přímo pod kovovým krytem modulu.
To znamená, že pro jeho použití není nutné žádné zapojení ani připojení externích komponent.
Stačí pouze přiblížit magnet k čipu ESP32.
Jak číst hodnoty Hall senzoru
Pro čtení hodnot senzoru v Arduino IDE se používá jednoduchá funkce:
1hallRead()Tato funkce vrací číselnou hodnotu odpovídající síle magnetického pole.
Čím silnější magnetické pole, tím větší (nebo menší) hodnota.
Program pro čtení Hall senzoru
Následující program čte hodnoty senzoru a vypisuje je do Serial Monitoru.
1int hallValue = 0;
2
3void setup() {
4 Serial.begin(9600);
5}
6
7void loop() {
8
9 // čtení hodnoty hall senzoru
10 hallValue = hallRead();
11
12 // výpis hodnoty
13 Serial.println(hallValue);
14
15 delay(1000);
16}Tento program každou sekundu přečte hodnotu senzoru a zobrazí ji v sériovém monitoru.
Jak testovat Hall senzor
Po nahrání programu do ESP32 postupuj takto:
- otevři Serial Monitor
- nastav rychlost 9600 baud
- přibliž magnet k čipu ESP32
Při přiblížení magnetu by se měly hodnoty v monitoru výrazně změnit.
Zajímavé je, že hodnoty se mohou:
- zvyšovat, nebo
- snižovat
To závisí na tom, zda je k senzoru přiblížen severní nebo jižní pól magnetu.

Jak fungují hodnoty senzoru
Výstup senzoru je číselná hodnota reprezentující magnetické pole.
Obvykle platí:
- bez magnetu → hodnota blízko nule
- slabé magnetické pole → malé změny
- silné magnetické pole → velké změny
Čím blíže je magnet k čipu, tím větší změna se objeví.
Možná využití Hall senzoru
Hallův senzor lze využít v mnoha projektech:
Detekce otevření dveří
Magnet je na dveřích a ESP32 na rámu. Pokud se dveře otevřou, magnet se vzdálí a hodnota senzoru se změní.
Měření otáček
Magnet je umístěn na rotujícím kole a každé otočení vytvoří změnu magnetického pole.
Bezkontaktní tlačítko
Magnet může fungovat jako spínač bez mechanického kontaktu.
Detekce přiblížení
ESP32 může reagovat na přiblížení magnetu například rozsvícením LED.
Omezení Hall senzoru
Je dobré vědět, že vestavěný Hall senzor v ESP32 není příliš přesný.
Proto se obvykle používá spíše pro:
- jednoduché projekty
- detekci změny magnetického pole
- experimentování
Pro přesnější měření se často používají externí Hall senzory.
Shrnutí
ESP32 obsahuje vestavěný Hallův senzor, který dokáže detekovat změny magnetického pole v okolí čipu.
