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

Arduino-Controlled Environmental Monitoring and Automation System

Image of Arduino-Controlled Environmental Monitoring and Automation System

Circuit Documentation

Summary of the Circuit

This circuit is designed to interface various sensors and actuators with an Arduino UNO microcontroller. The circuit includes a USB driver circuit for a fogger atomizer, a 12V single-channel relay for controlling power to the atomizer, a humidifier, an MQ-135 air quality sensor, a KY-015 DHT11 temperature and humidity sensor, an HC-SR04 ultrasonic distance sensor, two gearmotors with an L298N motor driver for motion control, and an MKE-M07 LCD1602 I2C module for display purposes. The Arduino UNO serves as the central processing unit, reading sensor data, controlling the relay, driving the motors, and updating the display.

Component List

USB Driver Circuit Fogger Atomizer

  • Pins: +, -
  • Description: Drives the fogger atomizer.

12V Single Channel Relay

  • Pins: NC, COM, NO, IN, GND, VCC
  • Description: Controls the power to the atomizer and humidifier.

Humidifier

  • Pins: GND, 5V
  • Description: Adds moisture to the air.

MQ-135 Sensor Air Quality

  • Pins: VCC, GND, A0, D0
  • Description: Measures the quality of the air.

KY-015 DHT11

  • Pins: 5V, S, GND
  • Description: Measures temperature and humidity.

HC-SR04 Ultrasonic Sensor

  • Pins: VCC, TRIG, ECHO, GND
  • Description: Measures distance via ultrasonic waves.

Gearmotor DC Wheels (Right and Left)

  • Pins: PIN1, PIN2
  • Description: Provides motion to the wheels.

L298N DC Motor Driver

  • Pins: OUT1, OUT2, 12V, GND, 5V, OUT3, OUT4, 5V-ENA-JMP-I, 5V-ENA-JMP-O, +5V-J1, +5V-J2, ENA, IN1, IN2, IN3, IN4, ENB
  • Description: Drives the gearmotors for the wheels.

Arduino UNO

  • Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
  • Description: The main controller for the circuit.

MKE-M07 LCD1602 I2C

  • Pins: GND, 5V, SDA, SCL
  • Description: Displays information such as sensor readings.

Wiring Details

USB Driver Circuit Fogger Atomizer

  • + connected to 12V Single Channel Relay COM
  • - connected to 12V Single Channel Relay NO and Humidifier GND

12V Single Channel Relay

  • NC not connected
  • COM connected to USB Driver Circuit Fogger Atomizer +
  • NO connected to USB Driver Circuit Fogger Atomizer -
  • IN connected to Arduino UNO D9
  • GND common ground
  • VCC common 5V supply

Humidifier

  • 5V connected to USB Driver Circuit Fogger Atomizer +
  • GND connected to USB Driver Circuit Fogger Atomizer -

MQ-135 Sensor Air Quality

  • VCC common 5V supply
  • GND common ground
  • A0 connected to Arduino UNO A0
  • D0 not connected

KY-015 DHT11

  • 5V common 5V supply
  • S not connected
  • GND common ground

HC-SR04 Ultrasonic Sensor

  • VCC common 5V supply
  • TRIG connected to Arduino UNO D3
  • ECHO connected to Arduino UNO D4
  • GND common ground

Gearmotor DC Wheels Right

  • PIN1 connected to L298N DC Motor Driver OUT3
  • PIN2 connected to L298N DC Motor Driver OUT4

Gearmotor DC Wheels Left

  • PIN1 connected to L298N DC Motor Driver OUT2
  • PIN2 connected to L298N DC Motor Driver OUT1

L298N DC Motor Driver

  • OUT1, OUT2, OUT3, OUT4 connected to Gearmotors
  • 12V not connected
  • GND common ground
  • 5V common 5V supply
  • 5V-ENA-JMP-I, 5V-ENA-JMP-O, +5V-J1, +5V-J2, ENA, IN1, IN2, IN3, IN4, ENB not connected

Arduino UNO

  • 5V common 5V supply
  • GND common ground
  • A0 connected to MQ-135 Sensor Air Quality A0
  • A4 connected to MKE-M07 LCD1602 I2C SDA
  • A5 connected to MKE-M07 LCD1602 I2C SCL
  • D3 connected to HC-SR04 Ultrasonic Sensor TRIG
  • D4 connected to HC-SR04 Ultrasonic Sensor ECHO
  • D9 connected to 12V Single Channel Relay IN

MKE-M07 LCD1602 I2C

  • GND common ground
  • 5V common 5V supply
  • SDA connected to Arduino UNO A4
  • SCL connected to Arduino UNO A5

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 for the Arduino UNO microcontroller. The setup() function is called once when the microcontroller is powered on or reset. It is used to initialize the pins and set the initial state of the circuit. The loop() function is called repeatedly and contains the main logic of the program. This is where the microcontroller will read sensor data, control actuators, and update the display. The actual implementation details need to be filled in based on the specific requirements of the circuit's operation.