Zpět na články

ESP32 + půdní vlhkoměr – kapacitní senzor vlhkosti půdy

Jak připojit kapacitní půdní vlhkoměr k ESP32 a měřit vlhkost půdy pro chytré zavlažování rostlin.

ESP32 + půdní vlhkoměr – kapacitní senzor vlhkosti půdy

Co je kapacitní půdní vlhkoměr?

Kapacitní půdní vlhkoměr je analogový senzor, který měří vlhkost půdy podle změny kapacity mezi elektrodami. Čím vlhčí půda, tím vyšší kapacita – a senzor to převede na napětí, které ESP32 přečte přes ADC.

Velkou výhodou verze 2.0 je odolnost proti korozi. Starší rezistivní vlhkoměry měly odhalené měděné elektrody, které v půdě rychle degradovaly kvůli elektrolýze. Kapacitní senzor má měřicí část plně zakrytou izolačním lakem, takže vydrží mnohem déle.

Senzor je napájen 3,3V–5,5V a má analogový výstup 0V–3V. Lze ho použít například pro chytré zalévání skleníku nebo upozornění na suché květiny.

Hlavní vlastnosti

  • Kapacitní princip měření – odolný proti korozi
  • Napájení 3,3–5,5 V
  • Analogový výstup 0–3 V
  • Antikorozní lak na měřicí části
  • Ideální pro dlouhodobé venkovní použití

Potřebné komponenty

  • ESP32
  • Kapacitní půdní vlhkoměr v2.0
  • Propojovací vodiče
⚠️ Pečlivě izolujte horní část senzoru včetně konektoru. Odhalená elektronika nahoře nesmí přijít do kontaktu s vlhkostí – zasouvejte do půdy jen spodní měřicí část po vyznačenou čáru.

Zapojení

Senzor má tři vodiče: VCC (napájení), GND (zem) a AOUT (analogový výstup).

VCC připojte na 3,3V ESP32. GND připojte na GND. AOUT připojte na GPIO 34 – analogový vstupní pin ESP32.

⚠️ Napájejte senzor z 3,3V, ne z 5V. ADC na ESP32 měří napětí jen do 3,3V – při napájení 5V by výstup přesáhl měřitelný rozsah a hodnoty by se ořezávaly.
⚠️ Použijte pin z ADC1 (GPIO 32–39). Piny ADC2 nelze používat současně s WiFi.

Schéma zapojení:

ESP32 3.3V → VCC
ESP32 GND → GND
ESP32 GPIO34 → AOUT

Kalibrace před použitím

Kapacitní senzory se liší kus od kusu, proto je nutná kalibrace. Zjistíte dvě krajní hodnoty:

  1. Nahrajte Kód 1 níže a otevřete Serial Monitor
  2. Nechte senzor na vzduchu (suchý) a zapište si hodnotu – to je sucho (např. 3200)
  3. Ponořte měřicí část do sklenice vody a zapište hodnotu – to je mokro (např. 1300)
  4. Tyto dvě hodnoty doplňte do Kódu 2 jako HODNOTA_SUCHO a HODNOTA_MOKRO

Kód 1 – čtení surové hodnoty (pro kalibraci)

groundhumidity.ino
1#define SENZOR_PIN 34 2 3void setup() { 4 Serial.begin(115200); 5 Serial.println("Kalibrace vlhkoměru"); 6} 7 8void loop() { 9 int hodnota = analogRead(SENZOR_PIN); 10 11 Serial.print("Surová hodnota: "); 12 Serial.println(hodnota); 13 14 delay(500); 15}

Kód 2 – vlhkoměr s hodnocením a varováním

Praktická varianta pro sledování stavu rostlin:

groundhumidity.ino
1#define SENZOR_PIN 34 2 3const int HODNOTA_SUCHO = 3200; 4const int HODNOTA_MOKRO = 1300; 5 6int prectiVlhkost() { 7 int suma = 0; 8 for (int i = 0; i < 10; i++) { 9 suma += analogRead(SENZOR_PIN); 10 delay(10); 11 } 12 int procenta = map(suma / 10, HODNOTA_SUCHO, HODNOTA_MOKRO, 0, 100); 13 return constrain(procenta, 0, 100); 14} 15 16String hodnoceniVlhkosti(int v) { 17 if (v < 20) return "Sucho! Zalij rostlinu 🌵"; 18 if (v < 40) return "Spíše suchá půda"; 19 if (v < 60) return "Ideální vlhkost ✓"; 20 if (v < 80) return "Vlhká půda"; 21 return "Přemokřeno – riziko hniloby kořenů"; 22} 23 24void setup() { 25 Serial.begin(115200); 26 Serial.println("Půdní vlhkoměr spuštěn."); 27 Serial.println("-------------------------"); 28} 29 30void loop() { 31 int vlhkost = prectiVlhkost(); 32 33 Serial.print("Vlhkost: "); 34 Serial.print(vlhkost); 35 Serial.println(" %"); 36 Serial.println(hodnoceniVlhkosti(vlhkost)); 37 Serial.println("-------------------------"); 38 39 delay(5000); 40}

Časté problémy

Hodnoty se skoro nemění mezi suchem a vodou
→ Zkontrolujte napájení – musí být 3,3V
→ Ověřte že měříte na ADC1 pinu (GPIO 32–39)

Vlhkost skáče nahoru a dolů
→ Zvyšte počet průměrovaných vzorků (z 10 na 20)
→ Zkontrolujte pevnost spojů

Hodnota je stále 0 % nebo 100 %
→ Špatné kalibrační hodnoty – proveďte kalibraci znovu podle Kódu 1
→ Ověřte, že HODNOTA_SUCHO je vyšší než HODNOTA_MOKRO

Senzor po čase přestal fungovat
→ Vlhkost se dostala k horní elektronice – lépe izolujte horní část
→ Zkontrolujte korozi na konektoru

Možná rozšíření

  • Přidejte relé a vodní pumpu – automatické zavlažování když je půda suchá
  • Kombinujte s DS18B20 – měřte vlhkost i teplotu půdy najednou
  • Přidejte OLED displej – zobrazujte vlhkost přímo u rostliny
  • Kombinujte s DHT22 – kompletní monitoring podmínek ve skleníku
  • Přidejte MQTT – posílejte data do Home Assistanta nebo na mobil
  • Kombinujte s Deep Sleep – bateriový senzor s dlouhou výdrží

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.