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

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!