Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

Arduino UNO Based Automated Plant Watering System with Environmental Monitoring

Image of Arduino UNO Based Automated Plant Watering System with Environmental Monitoring

Circuit Documentation

Summary

This circuit is designed around an Arduino UNO microcontroller, which serves as the central processing unit. The circuit includes various sensors, actuators, and interfaces, such as a BH1750 light sensor, an OLED display, a DHT11 temperature and humidity sensor, soil moisture sensors, a 3-channel relay module, water pumps, a fan, a stepper motor with its driver, and several push switches. Power is distributed through splicing connectors, and the circuit is powered by a combination of a 12V battery, a 2 x AA battery mount, and the Arduino's onboard voltage regulator.

Component List

  • Arduino UNO: A microcontroller board based on the ATmega328P, featuring digital and analog I/O pins.
  • BH1750: A digital light sensor that measures ambient light intensity.
  • OLED 128x64 I2C Monochrome Display: A small display for outputting text and graphics.
  • Splicing connector WAGO 221: A connector used for joining and managing multiple wire connections.
  • Soil Moisture Sensor: A sensor used to measure the moisture content in soil.
  • DHT11: A sensor that measures temperature and humidity.
  • 3 Channel Relay 5V: A module with three relays to control high power devices.
  • Water Pump: A pump for moving water, controlled by the relay module.
  • IRF520 PWM Module: A MOSFET module for controlling devices like motors and LEDs with PWM.
  • Fan: An electric fan for air circulation, controlled by the IRF520 module.
  • 12V Battery: A battery providing the main power source for the circuit.
  • 2 x AA Battery Mount: A battery holder for two AA batteries, providing additional power.
  • Stepper Motor (Bipolar): A motor that moves in precise increments, used for positioning.
  • A4988 Stepper Motor Driver: A driver module for controlling the stepper motor.
  • 2Pin Push Switch: A simple push-button switch for user input.

Wiring Details

Arduino UNO

  • 5V connected to 5V power distribution via a WAGO connector.
  • GND connected to ground distribution via multiple WAGO connectors.
  • Vin connected to the VCC of the 3 Channel Relay 5V.
  • A2 and A3 connected to SCL and SDA of the BH1750 light sensor, respectively.
  • A4 and A5 connected to SCK and SDA of the OLED display, respectively.
  • D2 to D13 connected to various components including the A4988 driver, IRF520 PWM module, push switches, and relay channels.

BH1750 Light Sensor

  • VCC and GND connected to power distribution via WAGO connectors.
  • SCL and SDA connected to Arduino UNO for I2C communication.

OLED Display

  • VDD and GND connected to power distribution via WAGO connectors.
  • SCK and SDA connected to Arduino UNO for I2C communication.

DHT11 Temperature and Humidity Sensor

  • DATA connected to D4 on the Arduino UNO.
  • VCC and GND connected to power distribution via WAGO connectors.

Soil Moisture Sensors

  • Both sensors have their VCC and GND connected to power distribution via WAGO connectors.

3 Channel Relay 5V

  • VCC connected to Vin on the Arduino UNO.
  • GND connected to ground distribution via a WAGO connector.
  • CH1 and CH2 connected to D5 and D6 on the Arduino UNO, respectively.
  • COMMON and NO connected to the water pumps.

Water Pumps

  • VCC connected to the COMMON terminal of the relay module.
  • GND connected to ground distribution via WAGO connectors.

IRF520 PWM Module

  • Vin and GND connected to power distribution via WAGO connectors.
  • SIG connected to D9 on the Arduino UNO.
  • V+ and V- connected to the fan.

Fan

  • 5V and GND connected to the IRF520 PWM module.

A4988 Stepper Motor Driver

  • VMOT and GND connected to power distribution via WAGO connectors.
  • VDD connected to 5V power distribution via a WAGO connector.
  • STEP and DIR connected to D3 and D2 on the Arduino UNO, respectively.
  • 1A, 1B, 2A, 2B connected to the stepper motor.

Stepper Motor (Bipolar)

  • A, B, C, D connected to the A4988 driver.

Push Switches

  • Input + connected to power distribution via WAGO connectors.
  • Output + connected to various digital pins on the Arduino UNO.

Documented Code

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

The provided code is a template with empty setup() and loop() functions, which are the entry points for Arduino sketches. The setup() function is called once when the sketch starts and is used for initializing settings, while the loop() function runs repeatedly, allowing the microcontroller to perform operations based on the circuit's design. Additional code would be required to control the components and read sensors in this circuit.