
INTERFACING PART
ARDUINO UNO CODING
int enA= 9;
int enB= 3;
int in1= 8;
int in2= 7;
int in3= 5;
int in4= 4;
int OutputAO=A0;
float sensor;
void setup() {
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode (OutputAO, INPUT) ;
Serial.begin(9600);
}
void rain(){
// Turn on motors
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
// Accelerate from zero to maximum speed
for (int i = 0; i < 186; i++) {
analogWrite(enA, i);
analogWrite(enB, i);
delay(20);
}
// Decelerate from maximum speed to zero
for (int i = 185; i >= 0; --i) {
analogWrite(enA, i);
analogWrite(enB, i);
delay(20);
}
Serial.println("forward");
}
void bright(){
// Turn on motors
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
// Accelerate from zero to maximum speed
for (int i = 0; i < 186; i++) {
analogWrite(enA, i);
analogWrite(enB, i);
delay(20);
}
// Decelerate from maximum speed to zero
for (int i = 185; i >= 0; --i) {
analogWrite(enA, i);
analogWrite(enB, i);
delay(20);
}
// Now turn off motors
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
Serial.println("backward");
}
void Stop(){
analogWrite(enA,0);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
analogWrite(enB,0);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
Serial.println("stop");
delay(10000);
}
void loop() {
sensor = analogRead(OutputAO);
Serial.println(sensor);
if (sensor <=500 ){
rain(); delay(50);
Stop(); delay(10000);
}
else if (sensor >500){
bright(); delay(50);
Stop(); delay(10000);
}
}
LIST OF COMPONENT

Arduino UNO
1x

Motor Driver L289N
1x

12V DC Motor
1x

Raindrop Sensor
1x

3.5V Battery
3x
CIRCUIT DESIGN

FABRICATED PART
LIST OF ITEM

Plywood
50cm x 48cm

Perspex
52cm x 50cm

Wheels
3x

PVC pipe
48cm x 52cm
BODY PART
.jpg)
.jpg)