Arduino-Controlled Solar-Powered DC Motor with Dust Sensor Feedback
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This circuit is designed to harness solar energy to charge a Li-ion 18650 battery and power a DC motor using an L298N motor driver module. The Arduino UNO serves as the control unit, interfacing with a GP2Y1010AU0F dust sensor and managing the motor's operation through the motor driver. The circuit is intended for applications where solar-powered motion and air quality monitoring are required.
Component List
Solar Panel
- Description: A photovoltaic panel that converts sunlight into electrical energy.
- Pins:
+(Positive),-(Negative)
Li-ion 18650 Battery
- Description: A rechargeable battery that stores electrical energy.
- Pins:
+(Positive),-(Negative)
DC Motor
- Description: An electric motor that converts electrical energy into mechanical motion.
- Pins:
pin 1,pin 2
Arduino UNO
- Description: A microcontroller board based on the ATmega328P.
- Pins:
UNUSED,IOREF,Reset,3.3V,5V,GND,Vin,A0toA5,SCL,SDA,AREF,D13toD0
GP2Y1010AU0F Dust Sensor
- Description: An optical air quality sensor designed to sense dust particles.
- Pins:
VCC,Vout,S-GND,LED,LED-GND,V-LED
L298N 2A Dual Motor Driver Module with PWM Control
- Description: A module that drives up to two DC motors with PWM speed control.
- Pins:
OUT1,OUT2,12V,GND,5V,OUT4,OUT3,ENA,IN1,IN2,IN3,ENB,IN4
Wiring Details
Solar Panel
- Connections: Not specified in the provided net list.
Li-ion 18650 Battery
- Connections:
+to L298N 12V-to L298N GND, Arduino GND
DC Motor
- Connections:
pin 1to L298N OUT2pin 2to L298N OUT1
Arduino UNO
- Connections:
5Vto GP2Y1010AU0F VCCGNDto GP2Y1010AU0F S-GND, L298N GNDA0to GP2Y1010AU0F VoutD10to L298N ENAD9to L298N IN2D8to L298N IN1
GP2Y1010AU0F Dust Sensor
- Connections:
VCCto Arduino 5VVoutto Arduino A0S-GNDto Arduino GND
L298N 2A Dual Motor Driver Module with PWM Control
- Connections:
12Vto Li-ion Battery +GNDto Li-ion Battery -, Arduino GNDOUT1to DC Motor pin 2OUT2to DC Motor pin 1ENAto Arduino D10IN1to Arduino D8IN2to Arduino D9
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 to control the circuit components. It needs to be populated with the appropriate setup and loop code to manage the motor driver and read data from the dust sensor.