ESP32 Tutorial 35/55 - Pflanzenmonitor, Boden, Temperatur und Licht | SunFounder's ESP32 IoT Lernkit

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.

ESP32-25_Pflanzenüberwachungs-Schema

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.

Fotowiderstand
DHT11-Modul
DHT11 Modul

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

ESP32-25_plant_moitor_wiring

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

Bilder

DHT11 Module
DHT11 Module
5V DC water pump
5V DC water pump
soil_mositure_module
soil_mositure_module
photoresistor
photoresistor
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_wiring
ESP32-25_plant_moitor_wiring
836-ESP32 Tutorial 35/55- Arduino code for plant monitor
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Dateien📁

Fritzing-Datei