ESP32 Pflanzen-Feuchtigkeitssensor — Vom Breadboard zum Dashboard
Meine Pflanzen sterben regelmassig weil ich das Giessen vergesse. Also hab ich einen ESP32 mit kapazitivem Feuchtigkeitssensor gebaut. Hier ist der komplette Aufbau.
Hardware
- ESP32 DevKit V1 (5EUR)
- Kapazitiver Bodenfeuchtesensor v1.2 (3EUR) - nicht der resistive!
- 3x Dupont-Kabel
Kapazitive Sensoren korrodieren nicht im feuchten Boden. Resistive sind nach 2-3 Monaten hin.
Schaltung
Sensor VCC - ESP32 3.3V (nicht 5V!)
Sensor GND - ESP32 GND
Sensor AOUT - ESP32 GPIO34 (ADC1)Immer ADC1-Pins (GPIO32-39) fur Sensoren nehmen. ADC2 ist unzuverlassig wenn WiFi lauft.
Code
#include <WiFi.h>
#include <PubSubClient.h>
#define SENSOR_PIN 34
int feuchte = analogRead(SENSOR_PIN);
int prozent = map(feuchte, 1500, 4095, 100, 0);
mqtt.publish("pflanzen/monstera/feuchte", String(prozent).c_str());ADC-Nichtlinearitat: Der ESP32-ADC ist im unteren und oberen Bereich nicht linear. Der kapazitive Sensor liefert ~1.2V (nass) bis ~2.8V (trocken) - das liegt im guten Bereich. Trotzdem kalibrieren!