Arduino UNO-Based Environmental Monitoring System with ESP32 CAM and Data Logging
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This document provides a detailed overview of a circuit that includes various sensors, a microcontroller, and other electronic components. The primary controller in the circuit is an Arduino UNO, which interfaces with sensors like the GP2Y1010AU0F dust sensor, DS18B20 temperature sensor, a voltage sensor, and an ACS712 current sensor. Additionally, the circuit includes an RTC DS3231 for real-time clock functionality, a micro SD card module for data storage, and an ESP32 CAM module for camera functionalities. The circuit is powered by a solar panel, and an FTDI programmer is used for programming the ESP32 CAM. An LED and a resistor-capacitor pair are also part of the circuit for indicating status and signal conditioning, respectively.
Component List
Arduino UNO
A microcontroller board based on the ATmega328P. It has digital input/output pins, analog inputs, a USB connection for programming, and power management features.
GP2Y1010AU0F
An optical air quality sensor designed to detect dust particles in the air.
Electrolytic Capacitor
A polarized capacitor with a capacitance value of 0.00025 Farads, used for filtering and energy storage in circuits.
Resistor
A passive two-terminal electrical component with a resistance of 200 Ohms, used to limit current and divide voltages.
DS18B20 Temperature Sensor
A digital temperature sensor that provides 9-bit to 12-bit Celsius temperature measurements.
Voltage Sensor
A device that measures the voltage between two points in an electric circuit.
Solar Panel
A photovoltaic panel that converts sunlight into electrical energy, used to power the circuit.
ACS712 Current Sensor
A hall-effect-based linear current sensor that can measure AC or DC currents.
LED: Two Pin (red)
A red light-emitting diode used as an indicator light in the circuit.
RTC DS3231
A real-time clock module that maintains accurate timekeeping with a temperature-compensated crystal oscillator.
Micro SD Card Module
A module that allows micro SD cards to be interfaced with a microcontroller for data storage purposes.
ESP32 CAM
A small-sized camera module with Wi-Fi and Bluetooth capabilities, based on the ESP32 chip.
FTDI Programmer
A USB to serial converter used to program devices like the ESP32 CAM.
Wiring Details
Arduino UNO
D7connected to GP2Y1010AU0F (LED)GNDconnected to GP2Y1010AU0F (S-GND), RTC DS3231 (GND), DS18B20 (GND), Micro SD Card Module (gnd), Voltage Sensor (Gnd), ACS712 Current Sensor (GND)A0connected to GP2Y1010AU0F (Vout)5Vconnected to GP2Y1010AU0F (VCC), RTC DS3231 (VCC), Micro SD Card Module (vcc), DS18B20 (VCC), Voltage Sensor (Vcc), ACS712 Current Sensor (VCC)SCLconnected to RTC DS3231 (SCL)SDAconnected to RTC DS3231 (SDA)D13connected to Micro SD Card Module (sck)D12connected to Micro SD Card Module (miso)D11connected to Micro SD Card Module (mosi)D10connected to Micro SD Card Module (cs)D2connected to DS18B20 (OUT)
GP2Y1010AU0F
V-LEDconnected to Electrolytic Capacitor (+) and Resistor (pin1)LED-GNDconnected to Electrolytic Capacitor (-)LEDconnected to Arduino UNO (D7)S-GNDconnected to Arduino UNO (GND)Voutconnected to Arduino UNO (A0)VCCconnected to Resistor (pin2)
Electrolytic Capacitor
+connected to GP2Y1010AU0F (V-LED) and Resistor (pin1)-connected to GP2Y1010AU0F (LED-GND)
Resistor
pin1connected to Electrolytic Capacitor (+) and GP2Y1010AU0F (V-LED)pin2connected to GP2Y1010AU0F (VCC)
DS18B20 Temperature Sensor
GNDconnected to Arduino UNO (GND)VCCconnected to Arduino UNO (5V)OUTconnected to Arduino UNO (D2)
Voltage Sensor
Groundconnected to LED (cathode) and Solar Panel (-)Phaseconnected to ACS712 Current Sensor (2) and Solar Panel (+)Vccconnected to Arduino UNO (5V)Outconnected to Arduino UNO (A1)Gndconnected to Arduino UNO (GND)
Solar Panel
+connected to Voltage Sensor (Phase) and ACS712 Current Sensor (2)-connected to LED (cathode)
ACS712 Current Sensor
1connected to LED (anode)2connected to Voltage Sensor (Phase) and Solar Panel (+)GNDconnected to Arduino UNO (GND)OUTconnected to Arduino UNO (A2)VCCconnected to Arduino UNO (5V)
LED: Two Pin (red)
cathodeconnected to Voltage Sensor (Ground) and Solar Panel (-)anodeconnected to ACS712 Current Sensor (1)
RTC DS3231
SCLconnected to Arduino UNO (SCL)SDAconnected to Arduino UNO (SDA)VCCconnected to Arduino UNO (5V)GNDconnected to Arduino UNO (GND)
Micro SD Card Module
sckconnected to Arduino UNO (D13)misoconnected to Arduino UNO (D12)mosiconnected to Arduino UNO (D11)csconnected to Arduino UNO (D10)vccconnected to Arduino UNO (5V)gndconnected to Arduino UNO (GND)
ESP32 CAM
5Vconnected to FTDI Programmer (VCC)GNDconnected to FTDI Programmer (GND) and ESP32 CAM (GPIO0)GPIO3 / RXconnected to FTDI Programmer (TX)GPIO1 / TXconnected to FTDI Programmer (RX)
FTDI Programmer
VCCconnected to ESP32 CAM (5V)TXconnected to ESP32 CAM (GPIO3 / RX)RXconnected to ESP32 CAM (GPIO1 / TX)GNDconnected to ESP32 CAM (GND)
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:
}
Additional Notes
The code provided for the Arduino UNO is a template with empty setup() and loop() functions. Actual implementation details should be added based on the specific requirements of the circuit's operation.