Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [ hier ] und treten Sie heute bei!
Pflanzenmonitor
Dieses Projekt bewässert Pflanzen automatisch, indem es eine Wasserpumpe aktiviert, wenn die Bodenfeuchtigkeit unter einen bestimmten Schwellenwert fällt. Zusätzlich werden Temperatur, Luftfeuchtigkeit und Bodenfeuchtigkeit auf einem LCD-Bildschirm angezeigt, um den Benutzern Einblicke in die Wachstumsumgebung der Pflanze zu geben.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Elite Explorer Kit |
300+ |
Sie können sie auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
- |
|
- |
|
- |
|
- |
Verdrahtung
Schaltplan
Code
Bemerkung
Sie können die Datei
08_plant_monitor.inodirekt unter dem Pfadelite-explorer-kit-main\fun_project\08_plant_monitoröffnen.Oder kopieren Sie diesen Code in die Arduino IDE.
Bemerkung
Um die Bibliothek zu installieren, verwenden Sie den Arduino-Bibliotheksmanager und suchen Sie nach „DHT sensor library“ und „LiquidCrystal I2C“ und installieren Sie diese.
1/*
2 Automatic watering system based on soil moisture, temperature, and humidity readings.
3
4 Board: Arduino Uno R4
5 Component: I2C LCD1602, DC Water Pump with TA6586 Motor Driver Chip, Soil Moisture Module, and Humiture Sensor Module
6 Library: https://www.arduino.cc/reference/en/libraries/liquidcrystal-i2c/ (LiquidCrystal I2C by Frank de Brabander)
7 https://github.com/adafruit/DHT-sensor-library (DHT sensor library by Adafruit)
8*/
9
10
11#include <Wire.h>
12#include <LiquidCrystal_I2C.h>
13#include <DHT.h>
14
15#define DHTPIN 4 // Digital pin for DHT11 sensor
16#define DHTTYPE DHT11 // DHT11 sensor type
17#define SOIL_MOISTURE_PIN A0 // Analog pin for soil moisture sensor
18#define WATER_PUMP_PIN 8 // Digital pin for water pump
19
20
21// Initialize sensor and LCD objects
22DHT dht(DHTPIN, DHTTYPE);
23LiquidCrystal_I2C lcd(0x27, 16, 2);
24
25void setup() {
26 // Set pin modes
27 pinMode(SOIL_MOISTURE_PIN, INPUT);
28 pinMode(WATER_PUMP_PIN, OUTPUT);
29
30 // Initialize water pump as off
31 digitalWrite(WATER_PUMP_PIN, LOW);
32
33 // Initialize LCD and backlight
34 lcd.init();
35 lcd.backlight();
36
37 // Start DHT sensor
38 dht.begin();
39}
40
41void loop() {
42 // Read humidity and temperature from DHT11
43 float humidity = dht.readHumidity();
44 float temperature = dht.readTemperature();
45
46 // Read soil moisture level
47 int soilMoisture = analogRead(SOIL_MOISTURE_PIN);
48
49 // Display temperature and humidity on LCD
50 lcd.clear();
51 lcd.setCursor(0, 0);
52 lcd.print("Temp: " + String(temperature) + "C");
53 lcd.setCursor(0, 1);
54 lcd.print("Humidity: " + String(humidity) + "%");
55
56 delay(2000);
57
58 // Display soil moisture on LCD
59 lcd.clear();
60 lcd.setCursor(0, 0);
61 lcd.print("Soil Moisture: ");
62 lcd.setCursor(0, 1);
63 lcd.print(String(soilMoisture));
64
65 // Activate water pump if soil is dry
66 if (soilMoisture > 580) {
67 digitalWrite(WATER_PUMP_PIN, HIGH); // Turn on water pump
68 delay(1000); // Pump water for 1 second
69 digitalWrite(WATER_PUMP_PIN, LOW); // Turn off water pump
70 }
71
72 delay(2000); // Wait before next loop iteration
73}
Wie funktioniert des?
Hier ist eine detaillierte Erklärung des Codes:
Bibliothekseinbindungen und Konstanten/Variablen:
Importieren Sie die Bibliotheken
Wire.h,LiquidCrystal_I2C.hundDHT.h. Definieren Sie Pinnummern und andere Parameter, die mit dem DHT11, dem Bodenfeuchtigkeitssensor und der Wasserpumpe zusammenhängen.setup():Initialisieren Sie die Pinmodi, die mit dem Bodenfeuchtigkeitssensor und der Wasserpumpe zusammenhängen. Schalten Sie die Wasserpumpe anfangs aus. Initialisieren Sie das LCD-Display und schalten Sie die Hintergrundbeleuchtung ein. Starten Sie den DHT-Sensor.
loop():Lesen Sie die Luftfeuchtigkeit und Temperatur vom DHT-Sensor. Lesen Sie die Bodenfeuchtigkeit vom Bodenfeuchtigkeitssensor. Zeigen Sie die Temperatur- und Luftfeuchtigkeitswerte auf dem LCD-Bildschirm an, löschen Sie dann den Bildschirm und zeigen Sie den Bodenfeuchtigkeitswert an. Entscheiden Sie, ob die Wasserpumpe aufgrund der Bodenfeuchtigkeit aktiviert werden soll. Wenn die Bodenfeuchtigkeit unter 500 (einem konfigurierbaren Schwellenwert) liegt, aktivieren Sie die Wasserpumpe für 1 Sekunde.