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

Arduino UNO Based Weather Monitoring System with LCD Display

Image of Arduino UNO Based Weather Monitoring System with LCD Display

Circuit Documentation

Summary

This circuit is designed to interface various sensors and actuators with an Arduino UNO microcontroller. The sensors include a water sensor, a rain/snow sensor board, and a RAIN SENSOR for detecting environmental conditions. A DHT11 sensor is used for measuring temperature and humidity. The circuit also includes a 5V relay to control a water pump, a 16X2 LCD for display purposes, and a potentiometer to adjust the contrast of the LCD. The power is supplied by a 9V battery. The Arduino UNO serves as the central processing unit, reading sensor data and controlling the relay based on predefined conditions.

Component List

  • Arduino UNO: A microcontroller board based on the ATmega328P, with a variety of digital and analog I/O pins.
  • Water Sensor: A device that detects the presence of water.
  • Rain/Snow Sensor - Board: A sensor board designed to detect rain or snowfall.
  • RAIN SENSOR: A sensor for detecting rain with analog and digital outputs.
  • DHT11: A sensor for measuring temperature and humidity.
  • 5v Relay: An electromechanical switch that allows a low-power circuit to control a higher power circuit.
  • 16X2 LCD: A liquid crystal display capable of displaying 16 characters per line, with 2 lines.
  • Water Pump: An actuator that moves water from one place to another.
  • 9V Battery: A power source for the circuit.
  • Potentiometer: A variable resistor, often used to adjust levels such as volume or, in this case, LCD contrast.

Wiring Details

Arduino UNO

  • 5V: Connected to VCC of RAIN SENSOR, DHT11, Rain/Snow Sensor - Board, Potentiometer, 5v relay, and both VDD and A of 16X2 LCD.
  • GND: Connected to GND of RAIN SENSOR, DHT11, Rain/Snow Sensor - Board, Potentiometer, 5v relay, and both VSS, K, and RW of 16X2 LCD.
  • A0: Connected to A0 (Analog) of Rain/Snow Sensor - Board.
  • A1: Connected to AO of RAIN SENSOR.
  • D12: Connected to RS of 16X2 LCD.
  • D11: Connected to E of 16X2 LCD.
  • D9: Connected to DATA of DHT11.
  • D8: Connected to In of 5v relay.
  • D5: Connected to D4 of 16X2 LCD.
  • D4: Connected to D5 of 16X2 LCD.
  • D3: Connected to D6 of 16X2 LCD.
  • D2: Connected to D7 of 16X2 LCD.

Water Sensor

  • -: Connected to pin 1 of Rain/Snow Sensor - Board.
  • +: Connected to pin 2 of Rain/Snow Sensor - Board.

Rain/Snow Sensor - Board

  • VCC (5V): Connected to 5V of Arduino UNO.
  • GND: Connected to GND of Arduino UNO.

RAIN SENSOR

  • VCC: Connected to 5V of Arduino UNO.
  • GRD: Connected to GND of Arduino UNO.
  • AO: Connected to A1 of Arduino UNO.

DHT11

  • VCC: Connected to 5V of Arduino UNO.
  • GND: Connected to GND of Arduino UNO.
  • DATA: Connected to D9 of Arduino UNO.

5v Relay

  • VCC: Connected to 5V of Arduino UNO.
  • GND: Connected to GND of Arduino UNO.
  • In: Connected to D8 of Arduino UNO.
  • Common terminal: Connected to + of 9V battery.
  • Normally Closed: Connected to VCC of Water Pump.

16X2 LCD

  • VSS: Connected to GND of Arduino UNO.
  • VDD: Connected to 5V of Arduino UNO.
  • V0: Connected to Output of Potentiometer.
  • RS: Connected to D12 of Arduino UNO.
  • RW: Connected to GND of Arduino UNO.
  • E: Connected to D11 of Arduino UNO.
  • D4: Connected to D5 of Arduino UNO.
  • D5: Connected to D4 of Arduino UNO.
  • D6: Connected to D3 of Arduino UNO.
  • D7: Connected to D2 of Arduino UNO.
  • A: Connected to 5V of Arduino UNO.
  • K: Connected to GND of Arduino UNO.

Water Pump

  • VCC: Connected to Normally Closed of 5v relay.
  • GND: Connected to - of 9V battery.

Potentiometer

  • GND: Connected to GND of Arduino UNO.
  • Output: Connected to V0 of 16X2 LCD.
  • VCC: Connected to 5V of Arduino UNO.

9V Battery

  • +: Connected to Common terminal of 5v relay.
  • -: Connected to GND of Water Pump.

Documented Code

Arduino UNO (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 instructions to control the sensors, the relay, and the LCD based on the requirements of the circuit's application.