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

Arduino UNO Based Environmental Monitoring System with Wi-Fi Connectivity

Image of Arduino UNO Based Environmental Monitoring System with Wi-Fi Connectivity

Circuit Documentation

Summary

This circuit integrates a variety of components including an Arduino UNO microcontroller, temperature sensor (DS18B20), stepper motors (28BYJ-48) with ULN2003A driver boards, an MQ-135 air quality sensor, and an ESP8266 ESP-12E WiFi module. The Arduino UNO serves as the central processing unit, interfacing with sensors and controlling the stepper motors. The DS18B20 provides temperature readings, while the MQ-135 sensor monitors air quality. The ESP8266 module enables wireless communication capabilities. The stepper motors are driven by ULN2003A breakout boards, which receive control signals from the Arduino.

Component List

Arduino UNO

  • Microcontroller board based on the ATmega328P
  • Digital I/O pins: 14 (of which 6 provide PWM output)
  • Analog input pins: 6
  • Operating Voltage: 5V

DS18B20 (Temperature Sensor)

  • Programmable resolution: 9 to 12 bits
  • Power Supply Range: 3.0V to 5.5V

28BYJ-48 Stepper Motor

  • Operating Voltage: 5V DC
  • Step Angle: 5.625°/64
  • Reduction Ratio: 1/64

ULN2003A Breakout Board

  • 7-channel Darlington array
  • Output current: 500 mA per channel
  • Common-cathode flyback diodes for switching inductive loads

MQ-135 Sensor (Air Quality Sensor)

  • Detects a variety of gases including NH3, NOx, alcohol, benzene, smoke, and CO2
  • Operating Voltage: 5V

ESP8266 ESP-12E WiFi Module

  • Integrated TCP/IP protocol stack
  • Offers a complete and self-contained Wi-Fi networking solution

Wiring Details

Arduino UNO

  • 5V connected to the +5V pins of both ULN2003A breakout boards, vcc of DS18B20, and VCC of MQ-135 sensor
  • GND connected to GND pins of ESP8266, DS18B20, MQ-135 sensor, and 0V of both ULN2003A breakout boards
  • A0 connected to A0 of MQ-135 sensor
  • A1 connected to In 3 of ULN2003A breakout board
  • A2 connected to In 4 of ULN2003A breakout board
  • D13 connected to In 2 of ULN2003A breakout board
  • D12 connected to In 1 of ULN2003A breakout board
  • D11 connected to In 4 of the second ULN2003A breakout board
  • D10 connected to In 3 of the second ULN2003A breakout board
  • D9 connected to In 2 of the second ULN2003A breakout board
  • D8 connected to In 1 of the second ULN2003A breakout board
  • D4 connected to RXD of ESP8266
  • D3 connected to TXD of ESP8266
  • D2 connected to signal of DS18B20

ULN2003A Breakout Board

  • BLUE wire connected to BLUE of 28BYJ-48 Stepper Motor
  • PINK wire connected to PINK of 28BYJ-48 Stepper Motor
  • YELLOW wire connected to YELLOW of 28BYJ-48 Stepper Motor
  • ORANGE wire connected to ORANGE of 28BYJ-48 Stepper Motor

(Repeat the above connections for the second ULN2003A breakout board and stepper motor)

DS18B20 (Temperature Sensor)

  • signal connected to D2 of Arduino UNO
  • GND connected to GND of Arduino UNO
  • vcc connected to 5V of Arduino UNO

MQ-135 Sensor (Air Quality Sensor)

  • A0 connected to A0 of Arduino UNO
  • GND connected to GND of Arduino UNO
  • VCC connected to 5V of Arduino UNO

ESP8266 ESP-12E WiFi Module

  • RXD connected to D4 of Arduino UNO
  • TXD connected to D3 of Arduino UNO
  • GND connected 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 specific to the components or the circuit's intended operation. The user must add the necessary code to initialize the components and define the behavior of the circuit within the setup() and loop() functions.