ESP32 Tutorial 35/55 - Pflanzenmonitor, Boden, Temperatur und Licht | SunFounder's ESP32 IoT Lernkit
In diesem Tutorial werden wir einen Pflanzenmonitor mit dem ESP32-Mikrocontroller aus dem SunFounder ESP32 IoT Learning Kit bauen. Dieses Projekt kombiniert mehrere Komponenten, um die Bodenfeuchtigkeit, Temperatur, Luftfeuchtigkeit und Lichtwerte zu überwachen. Am Ende dieses Leitfadens haben Sie ein voll funktionsfähiges System, das diese wichtigen Parameter für die Pflanzenpflege verwalten und anzeigen kann. Für eine detaillierte visuelle Erklärung sollten Sie sich das Video (im Video bei 00:00) ansehen.

Hardware erklärt
Die Hauptkomponenten, die in diesem Projekt verwendet werden, umfassen den ESP32-Mikrocontroller, den DHT11-Sensor, den Bodenfeuchtesensor, den lichtabhängigen Widerstand (LDR) und ein LCD zur Anzeige von Daten. Der ESP32 fungiert als das Gehirn des Setups und übernimmt die Datenverarbeitung und Steuerungsaufgaben. Er verfügt über integriertes Wi-Fi und Bluetooth, die Verbindungsmöglichkeiten für die Fernüberwachung bieten.
Der DHT11-Sensor misst Temperatur und Luftfeuchtigkeit, während der Bodenfeuchtesensor die Feuchtigkeitswerte im Boden detektiert. Der LDR misst die Umgebungslichtintensität und ermöglicht Einblicke in die Lichtverhältnisse der Pflanze. Jedes Element spielt eine entscheidende Rolle für die Gesundheit der Pflanze, indem es Echtzeitdaten bereitstellt.
DatenblattDetails
| Hersteller | SunFounder |
|---|---|
| Teilenummer | DHT11 |
| Logik/IO-Spannung | 3,3 V |
| Versorgungsspannung | 5 V |
| Ausgangsstrom (pro Kanal) | 20 mA |
| Spitzenstrom (pro Kanal) | 50 mA |
| PWM-Frequenzguidance | N/A |
| Eingabelogikschwellenwerte | 0,3 VCC (niedrig), 0,7 VCC (hoch) |
| Spannungsabfall / RDS(on)/ Sättigung | N/A |
| Thermische Grenzen | 0°C bis 50°C |
| Paket | DIP |
| Hinweise / Varianten | Kompatibel mit DHT22 |
- Stellen Sie sicher, dass die richtigen Spannungspegel für jede Komponente vorhanden sind (5 V für den Motorsteuerung, 3,3 V für Sensoren).
- Verwenden Sie Pull-Down-Widerstände für Drucktasten, um schwebende Eingänge zu verhindern.
- Halten Sie die Verkabelung ordentlich, um Verwirrung und mögliche Kurzschlüsse zu vermeiden.
- Überprüfen Sie die Verbindungen, bevor Sie den Stromkreis einschalten, um Schäden zu vermeiden.
- Überprüfen Sie die Verdrahtung des DHT11, da er empfindlich auf falsche Anschlüsse reagiert.
Verdrahtungsanweisungen

Um die Komponenten zu verdrahten, beginnen Sie damit, die Strom- und Erdungsleitungen zu verbinden. Der ESP32 sollte mit einer Lithiumbatterie betrieben werden, wobei der Pluspol mit der VCC-Leitung und die Erdung mit der GND-Leitung auf dem Steckbrett verbunden wird. Der Datenpin des DHT11-Sensors wird angeschlossen anPIN 13, während seine VCC an die 3,3V-Leitung und GND an den Boden angeschlossen wird. Der Bodenfeuchtesensor wird ähnlich angeschlossen: sein Signalpin anPIN 14VCC auf 3,3 V und GND auf Masse.
Für den LDR verbinden Sie einen Pin mit der 3,3V-Leitung und den anderen mitPIN 35, mit einem 10k Ohm Widerstand, der den LDR mit dem Erdpotential verbindet. Das LCD-Display wird an die 5V-Leitung für die Stromversorgung angeschlossen und verwendetSDAundSCLPins verbunden mitPIN 21undPIN 22, beziehungsweise. Schließen Sie schließlich den Druckschalter anPIN 32mit dem Pull-Down-Widerstand, der mit Ground verbunden ist, um sicherzustellen, dass er im nicht gedrückten Zustand niedrig und im gedrückten Zustand hoch anzeigt.
Codebeispiele und Anleitung
Der Kern unseres Programms beginnt mit der Definition der Pins für jedes Bauteil. Zum Beispiel,DHTPINwird zugewiesen zuPIN 13für den DHT11-Sensor, währendMOIS_PINist eingestellt aufPIN 14für den Feuchtigkeitssensor. Diese Organisation hilft dabei, nachzuhalten, welcher Sensor mit welchem Pin verbunden ist.
#define DHTPIN 13 // Set the pin connected to the DHT11 data pin
#define MOIS_PIN 14 // Soil moisture module
#define LIGHT_PIN 35 // Photoresistor
Als nächstes initialisieren wir den DHT-Sensor und das LCD-Display im Inneren dersetup()Funktion. Dies ist entscheidend, da es diese Komponenten für den Betrieb vorbereitet. Sicherstellen, dass man anruftdht.begin()ist entscheidend, damit der DHT-Sensor Werte korrekt lesen kann.
void setup() {
Serial.begin(115200);
dht.begin(); // Initialize the DHT11
lcd.init(); // Initialize the LCD
lcd.backlight();
}
In derloop()Funktion, wir lesen kontinuierlich die Temperatur- und Feuchtigkeitswerte aus und zeigen sie auf dem LCD an. Wenn der Knopf gedrückt wird, wird der Motor aktiviert, um die Pflanzen zu gießen. Diese Logik nutzt das digitale Lesen des Knopf-Pins, um zu bestimmen, ob der Motor ein- oder ausgeschaltet wird.
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (digitalRead(BUTTON) == HIGH) {
digitalWrite(motor1A, HIGH); // Turn on water pump
} else {
digitalWrite(motor1A, LOW); // Turn off water pump
}
delay(2000);
}
Dieser Codestruktur ermöglicht einen klaren Fluss von Daten und Kontrolle und stellt sicher, dass der Pflanzenmonitor reibungslos funktioniert. Für weitere Details wird der vollständige Code unter dem Artikel geladen.
Demonstration / Was zu erwarten ist
Nach Abschluss der Einrichtung und dem Hochladen des Codes sollte das LCD abwechselnd Temperatur- und Luftfeuchtigkeitsmessungen sowie Feuchtigkeits- und Lichtwerte anzeigen. Wenn der Druckknopf gedrückt wird, sollte die Wasserpumpe aktiviert werden, um Wasser an die Pflanze zu liefern. Stellen Sie sicher, dass alle Verbindungen sicher sind, um Probleme wie schwebende Eingänge oder falsche Messwerte zu vermeiden (im Video bei 05:30).
Die Überwachung der auf dem LCD und im seriellen Monitor angezeigten Werte wird dazu beitragen, sicherzustellen, dass das System korrekt funktioniert. Wenn Sie Probleme haben, überprüfen Sie die Verkabelung und stellen Sie sicher, dass alle Komponenten angemessen mit Strom versorgt werden.
Video-Zeitstempel
- 00:00 Start
- 2:23 Projektvorstellung
- 4:02 Dokumente-Seite
- 7:43 1-L293D Pumpenmotorantrieb
- 14:30 2-Drücken Sie die Taste für die Pumpe
- 16:35 3-DHT11 Temperatur- und Luftfeuchtigkeitssensor
- 19:26 4-slid Feuchtigkeitssensor
- 21:43 5-Licht-Sensor
- 24:47 6-Bodenfeuchtesensor
- 26:01 vollständiger Plant Monitor Arduino Code
- 29:21 Demonstration
Common Course Links
Common Course Files
Dinge, die Sie vielleicht brauchen
-
Amazon
-
eBayKaufe LCD1602-I2C bei eBayebay.us
-
AliExpressKaufe 10 Stück LCD1602-I2C von AliExpresss.click.aliexpress.com
Ressourcen & Referenzen
-
DokumentationESP32 Tutorial 35/55 - SunFounder Dokumentationsseite Pflanzenmonitordocs.sunfounder.com
Dateien📁
Fritzing-Datei
-
DHT11 Feuchtigkeits- und Temperatursensor (3 Pins)
DHT11 Humitidy and Temperature Sensor (3 pins).fzpz0.20 MB -
LCD LCD1602-I2C-Modul mit 4 Drähten
LCD1602-I2C.fzpz0.01 MB