Arduino and ESP-8266 Based Smart Irrigation System with Voice Recognition and RTC
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
The circuit in question is a complex system designed to interface various sensors, actuators, and modules with microcontrollers. The primary microcontroller is an Arduino UNO, which is responsible for interfacing with a soil moisture sensor, a real-time clock (RTC), a voice recognition module, a serial MP3 player, and a relay module that controls a 5V mini water pump. Additionally, an ESP-8266 controller is included for potential wireless communication capabilities. The circuit is powered by a 5V supply, which is distributed to the various components that require it.
Component List
Soil Moisture Sensor
- Pins: VCC, GND, SIG
- Description: Measures the moisture level in the soil.
ESP-8266 Controller
- Pins: A0, RSV, SD3, SD5, SD1, CMD, D0, D1, D2, D3, D4, 3V3, GND, D5, D6, SD0, CLK, RST, EN, D7, D8, RX, TX, Vin, 5V
- Description: A microcontroller with WiFi capabilities for IoT applications.
DF ROBOT GRAVITY Voice Recognition Module
- Pins: D/T, C/R, GND, VCC, -, +
- Description: Recognizes voice commands and outputs digital signals.
5V Mini Water Pump
- Pins: Positive pin, Negative pin
- Description: An actuator that pumps water when powered.
RTC DS3231
- Pins: 32K, SQW, SCL, SDA, VCC, GND
- Description: A real-time clock module for timekeeping.
Soil Moisture Module
- Pins: Positive, Negative, Analog, Digital, Ground, VCC
- Description: Monitors soil moisture levels and provides both analog and digital outputs.
Relay 4 Channel 5V
- Pins: GND, IN1, IN2, IN3, IN4, VCC, COM1, COM2, COM3, COM4, NO1, NO2, NO3, NO4, NC1, NC2, NC3, NC4
- Description: Allows for control of high power devices with low power signals.
16x2 I2C LCD
- Pins: GND, VCC, SDA, SCL
- Description: A display module for showing information.
Arduino UNO
- Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0-A5, SCL, SDA, AREF, D0-D13
- Description: A microcontroller board based on the ATmega328P.
PAM8403
- Pins: 5vIN+, GND/IN-, R-INPUT, GND, L-INPUT, L-, L+, R+, R-
- Description: A small digital amplifier for audio applications.
PAM8406 5V Digital Audio Amplifier
- Pins: VCC, GND, ROUT+, ROUT-, LOUT+, LOUT-, R'IN, L'IN
- Description: Another audio amplifier module for driving speakers.
Serial MP3 Player
- Pins: RX, TX, VCC, GND
- Description: A module that can play MP3 files from a micro SD card.
Wiring Details
Soil Moisture Sensor
- VCC: Connected to 5V power rail
- GND: Connected to ground rail
- SIG: Connected to Arduino UNO A0
ESP-8266 Controller
- 3V3: Connected to Arduino UNO 3.3V
- GND: Connected to ground rail
- RX: Connected to Arduino UNO D0
- TX: Connected to Arduino UNO D1
DF ROBOT GRAVITY Voice Recognition Module
- VCC: Connected to 5V power rail
- GND: Connected to ground rail
- C/R: Connected to Arduino UNO D7
- D/T: Connected to Arduino UNO D6
5V Mini Water Pump
- Positive pin: Connected to Relay 4 Channel 5V NO1
- Negative pin: Connected to Relay 4 Channel 5V COM1
RTC DS3231
- VCC: Connected to 5V power rail
- GND: Connected to ground rail
- SCL: Connected to Arduino UNO A5
- SDA: Connected to Arduino UNO A4
Soil Moisture Module
- VCC: Connected to 5V power rail
- Ground: Connected to ground rail
- Analog: Connected to Arduino UNO A1
- Digital: Connected to Arduino UNO D4
Relay 4 Channel 5V
- VCC: Connected to 5V power rail
- GND: Connected to ground rail
- IN1: Connected to Arduino UNO D8
16x2 I2C LCD
- VCC: Connected to 5V power rail
- GND: Connected to ground rail
- SDA: Connected to Arduino UNO D2
- SCL: Connected to Arduino UNO D3
Serial MP3 Player
- VCC: Connected to 5V power rail
- GND: Connected to ground rail
- RX: Connected to Arduino UNO D11
- TX: Connected to Arduino UNO D10
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:
}
Serial MP3 Player Code (sketch.ino)
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
mySerial.begin(9600); // Communication speed with MP3 Player
Serial.begin(9600); // Communication speed with computer
}
void loop() {
// Commands to play files, adjusted for MP3 Player module commands
}
This documentation provides an overview of the circuit, including the components used, their wiring, and the code that runs on the microcontrollers. Further details can be added to the code sections to describe the specific functionalities and interactions between the components and the microcontrollers.