Weather Based Window Control System
This Project allows you to control the window position (open or close) based on the weather condition. The weather factor considered in this project will be the rain.Also an alarm and a indication LED are installed to notify whether it is raining or not. As soon as the rain fall exceeds a certain value,the servo motor will operate and window will be automatically closed.Otherwise it will be open.
Note that if you want to close the window manually, turn off the system and continue.
But if the system is powered,then it will operate as stated above.
Weather Based Window Control System is ideal for domestic use as well as commercial use.
Choosing a suitable servo motor is crucial for proper operation of the window open/close procedure.
Also the choose a 5V/3A power supply to meet the power requirement of the system.
The sensitivity of the raindrop sensor can be adjusted accordingly.(Depends on the overall weather condition of the current area)
This project can be developed to control more number of windows with the help of servo motor drivers.
Tools & Components
1 X Arduino Uno Board1 X Raindrop Sensor
1 X Metal Gear Servo(25Kg)
1 X Alarm Speaker
1 X LED (for Rain Indication)
Arm mechanism for Servo
5V, 3A Power Supply
Connecting Components
Raindrop Sensor Analog pin to Arduino A0 ;
Servo Motor pin to Arduino D09 ;
Alarm speaker + Indication LED to Arduino D12 ;
Raindrop Sensor must be installed outside where it can detect whether it is raining or not.
All other components can be put in to a casing & craft a compact system.
An ATX PC power supply can be used instead of the 5VDC battery.But to ensure continuous operation of the system, a battery will be ideal which connected to a battery charge control unit.
The Servo controlled arm is used to open/close the window.You can design it accordingly.I'Ve used a two arm mechanism as shown in figure(Refer the rough sketch Below).
Arduino Code
//2020 CraftyBin@Blogspot
//Author : Chathura H.
#include <Servo.h>
Servo myservo;
void setup() {
myservo.attach(9);
pinMode(9,OUTPUT);
pinMode(12,OUTPUT);
Serial.begin(9600);
}
int inputvalue;
void loop() {
inputvalue = analogRead(A0);
Serial.println(inputvalue);
delay(100);
if (inputvalue <100)
{
myservo.write(0);
digitalWrite(12,HIGH);
}
else {
myservo.write(150);
digitalWrite(12,LOW);
}
}
Safety First !
Even this is an ELV Project, always Connect the power supply if you are absolutely sure that the components are connected correctly without changing polarity and short circuited the wiring.
Even if it seems nothing is wrong : DOUBLE CHECK EVERYTHING !!
Your Feedback is very important to us.
Please Leave a comment about how you feel about this project.
Post a Comment