Friday, September 23, 2016
Smart Automatic ON OFF Switch Using Arduino
Smart Automatic ON OFF Switch Using Arduino
In this article we are going to build a smart automatic ON/OFF switch using Arduino, which can turn on or off gadgets automatically by sensing the presence of human nearby through the concept of ultrasonic.
By: Girish Radhakrishnan
We are going to use ultrasonic module and Arduino to sense the presence of human which activates the gadgets such as table lamp or table fan.
We sometimes forget to turn off the lights or fan while leaving home, at the middle of a trip; well realize that we forgot to turn off something. This is enough to ruin our joyful trip. But some dont even realize it; the energy gets wasted until we return to home.
In this project we are concentrating on gadgets which we use frequently such as table lamps/ table fan and other gadgets, where we sit and move frequently. Leaving these gadgets on for long period may lead to potential energy and money loss.
The Design:
The heart and brain of this smart automatic ON/OFF switch using Arduino is an ultrasonic module, and arduino respectively. The ultrasonic module senses the presence of human, but the ultrasonic module cant differentiate between a human and an obstacle such as chair in front of the table. Therefore in order to enable this feature we are going to set a threshold distance between the sensor and human.
The distance between the sensor and an object will reduce when new obstacle comes in between them such a human. If Arduino detects the distance between two object the set level goes below the threshold value and this triggers the relay.
When the person moves out of the threshold range it turns off the relay.
The above diagram illustrates the triggering of the relay in the presence of human, since Arduino detected the distance below the threshold value.
The above diagram illustrates that relay is held switched off in the absence of human, since the arduino continues to detect the distance above threshold value.
The program is written in such a way that it measures the distance between the sensor and obstacle in real time.
The users need to input the threshold value in centimeter before uploading to arduino.
The circuit:
The ultrasonic sensor can be directly inserted on analog pins from A0 to A3, sensors facing outward, this may reduce wire congestion while prototyping the circuit.
//--------------------Program developed by R.Girish-------------------//
const int trigger = A1;
const int echo = A2;
int vcc = A0;
int gnd = A3;
int OP = 7;
long Time;
float distanceCM;
float distance = 15; // set threshold distance in cm
float resultCM;
void setup()
{
pinMode(OP,OUTPUT);
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
pinMode(vcc,OUTPUT);
pinMode(gnd,OUTPUT);
}
void loop()
{
digitalWrite(vcc,HIGH);
digitalWrite(gnd,LOW);
digitalWrite(trigger,LOW);
delay(1);
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
Time=pulseIn(echo,HIGH);
distanceCM=Time*0.034;
resultCM=distanceCM/2;
if(resultCM<=distance)
{
digitalWrite(OP,HIGH);
delay(4000);
}
if(resultCM>=distance)
{
digitalWrite(OP,LOW);
}
delay(10);
}
//-----------------Program developed by R.Girish-------------------//
NOTE:
In the program replace the value 15 with your distance between the sensor and tables edge + 7 to 10cm.
float distance = 15; // set threshold distance in cm
For example: if the distance between sensor and table is 100cm, add 7 to 10 cm more and place the value. The values are in centimeter. It may take up to 4 seconds to turn off the relay after the person moved away from the sensors range.
By: Girish Radhakrishnan
We are going to use ultrasonic module and Arduino to sense the presence of human which activates the gadgets such as table lamp or table fan.
We sometimes forget to turn off the lights or fan while leaving home, at the middle of a trip; well realize that we forgot to turn off something. This is enough to ruin our joyful trip. But some dont even realize it; the energy gets wasted until we return to home.
In this project we are concentrating on gadgets which we use frequently such as table lamps/ table fan and other gadgets, where we sit and move frequently. Leaving these gadgets on for long period may lead to potential energy and money loss.
The Design:
The heart and brain of this smart automatic ON/OFF switch using Arduino is an ultrasonic module, and arduino respectively. The ultrasonic module senses the presence of human, but the ultrasonic module cant differentiate between a human and an obstacle such as chair in front of the table. Therefore in order to enable this feature we are going to set a threshold distance between the sensor and human.
The distance between the sensor and an object will reduce when new obstacle comes in between them such a human. If Arduino detects the distance between two object the set level goes below the threshold value and this triggers the relay.
When the person moves out of the threshold range it turns off the relay.
The above diagram illustrates the triggering of the relay in the presence of human, since Arduino detected the distance below the threshold value.
The above diagram illustrates that relay is held switched off in the absence of human, since the arduino continues to detect the distance above threshold value.
The program is written in such a way that it measures the distance between the sensor and obstacle in real time.
The users need to input the threshold value in centimeter before uploading to arduino.
The circuit:
The ultrasonic sensor can be directly inserted on analog pins from A0 to A3, sensors facing outward, this may reduce wire congestion while prototyping the circuit.
NOTE: #PIN 7 is the output to relay
const int trigger = A1;
const int echo = A2;
int vcc = A0;
int gnd = A3;
int OP = 7;
long Time;
float distanceCM;
float distance = 15; // set threshold distance in cm
float resultCM;
void setup()
{
pinMode(OP,OUTPUT);
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
pinMode(vcc,OUTPUT);
pinMode(gnd,OUTPUT);
}
void loop()
{
digitalWrite(vcc,HIGH);
digitalWrite(gnd,LOW);
digitalWrite(trigger,LOW);
delay(1);
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
Time=pulseIn(echo,HIGH);
distanceCM=Time*0.034;
resultCM=distanceCM/2;
if(resultCM<=distance)
{
digitalWrite(OP,HIGH);
delay(4000);
}
if(resultCM>=distance)
{
digitalWrite(OP,LOW);
}
delay(10);
}
//-----------------Program developed by R.Girish-------------------//
NOTE:
In the program replace the value 15 with your distance between the sensor and tables edge + 7 to 10cm.
float distance = 15; // set threshold distance in cm
For example: if the distance between sensor and table is 100cm, add 7 to 10 cm more and place the value. The values are in centimeter. It may take up to 4 seconds to turn off the relay after the person moved away from the sensors range.
Available link for download