Arduino UNO Based Automated Plant Watering System with Environmental Monitoring
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This circuit is designed to interface with various sensors and modules to perform environmental monitoring and control a water pump based on sensor inputs. It utilizes an Arduino UNO as the central microcontroller to process sensor data from a soil moisture module, a DHT11 humidity and temperature sensor, a rain sensor, and a PIR sensor. The circuit also includes an LCD display for output, a relay module to control the water pump, and a resistor for protection or signal conditioning. Power is supplied by two 18650 Li-ion batteries.
Component List
Arduino UNO
- Microcontroller board based on the ATmega328P
- It has 14 digital input/output pins, 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header, and a reset button.
Soil Moisture Module
- Sensor module for measuring the moisture level in soil
- It has both analog and digital outputs.
LCD Display 16x4 I2C
- Alphanumeric liquid crystal display with 16 characters per line and 4 lines
- Uses I2C communication protocol.
YL-69 Sonda
- Probe used with the soil moisture module to detect moisture levels in the soil.
Resistor (10 Ohms)
- A passive two-terminal electrical component that implements electrical resistance as a circuit element.
DHT11 Humidity and Temperature Sensor
- A basic, ultra low-cost digital temperature and humidity sensor.
Rain Sensor
- A weather sensor capable of detecting raindrops.
Water Pump
- An electromechanical device designed to move water through it.
Relay Module 5v-30v
- An electrically operated switch that allows you to turn on or off a circuit using voltage and/or current much higher than a microcontroller can handle.
18650 Li-ion Battery x 2
- Rechargeable batteries providing power to the circuit.
PIR Sensor
- A motion sensor that detects infrared signals from moving objects.
Wiring Details
Arduino UNO
5Vconnected to VCC of Soil Moisture Module, LCD Display, DHT11 Sensor, Resistor, and Rain SensorGNDconnected to Ground of Soil Moisture Module, LCD Display, DHT11 Sensor, Rain Sensor, and PIR Sensor3.3Vconnected to VDD of PIR SensorA0connected to Analog of Soil Moisture ModuleA4 (SDA)connected to SDA of LCD DisplayA5 (SCL)connected to SCL of LCD DisplayD2connected to DO of Rain Sensor, DATA of DHT11 Sensor, and pin2 of ResistorD3connected to V+ of Relay ModuleD7connected to SIG of PIR Sensor
Soil Moisture Module
VCCconnected to 5V of Arduino UNOGroundconnected to GND of Arduino UNOAnalogconnected to A0 of Arduino UNOpositiveconnected to + of YL-69 Sondanegativeconnected to - of YL-69 Sonda
LCD Display 16x4 I2C
SCLconnected to A5 (SCL) of Arduino UNOSDAconnected to A4 (SDA) of Arduino UNOVCCconnected to 5V of Arduino UNOGNDconnected to GND of Arduino UNO
YL-69 Sonda
+connected to positive of Soil Moisture Module-connected to negative of Soil Moisture Module
Resistor (10 Ohms)
pin1connected to 5V of Arduino UNOpin2connected to D2 of Arduino UNO
DHT11 Humidity and Temperature Sensor
VDDconnected to 5V of Arduino UNODATAconnected to D2 of Arduino UNOGNDconnected to GND of Arduino UNO
Rain Sensor
DOconnected to D2 of Arduino UNOVCCconnected to 5V of Arduino UNOGRDconnected to GND of Arduino UNO
Water Pump
positiveconnected to common contact of Relay Modulenegativeconnected to - of 18650 Li-ion Battery x 2
Relay Module 5v-30v
common contactconnected to positive of Water Pumpnormally openconnected to + of 18650 Li-ion Battery x 2triggerconnected to GRD of Rain SensorV-connected to 5V of Arduino UNOV+connected to D3 of Arduino UNO
18650 Li-ion Battery x 2
+connected to normally open of Relay Module-connected to negative of Water Pump
PIR Sensor
VDDconnected to 3.3V of Arduino UNOSIGconnected to D7 of Arduino UNOGNDconnected to GND of Arduino UNO
Documented Code
Arduino UNO Code (sketch.ino)
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
Note: The provided code is a template and does not contain any functional code. It needs to be populated with the logic to read sensor data, control the LCD display, and manage the relay for the water pump based on sensor inputs.