Arduino PIR sensor LED and Buzzer
Hardware Required:
Arduino UNO
PIR Sensor
LED
Buzzer
220ohm Resistor
Breadboard
Jumper Wire


. Connect LED to breadboard ( negative pin of LED is connected to negative pin in breadboard)
. Connect 220ohm resistor to LED positive terminal
Connect buzzer to breadboard
Connect LED and buzzer to arduino
Connect LED positive pin to arduino digital pin 5
Connect buzzer positive pin to arduino digital pin 6
Connect GND pin of arduino to GND side of breadboard
Connect 5v of arduino to VCC of breadboard
Connect PIR Sensor to arduino
Connect GND pin of PIR to GND side of breadboard
Connect Output pin of PIR to digital pin 7 of arduino
Connect VCC pin of PIR to 5v pin of breadboard
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)
int calibrationTime = 30;
//the time when the sensor outputs a low impulse
long unsigned int lowIn;
//the amount of milliseconds the sensor has to be low
//before we assume all motion has stopped
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int pirPin = 7; //the digital pin connected to the PIR sensor's output
int ledPin = 5; //the digital pin connected to the LED output
int Buzzer = 6; //the digital pin connected to the BUZZER output
/////////////////////////////
//SETUP
void setup(){
Serial.begin(9600);
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(Buzzer, OUTPUT);
digitalWrite(pirPin, LOW);
//give the sensor some time to calibrate
Serial.print("calibrating sensor ");
for(int i = 0; i < calibrationTime; i++){
Serial.print(".");
delay(1000);
}
Serial.println(" done");
Serial.println("SENSOR ACTIVE");
delay(50);
}
////////////////////////////
//LOOP
void loop(){
if(digitalRead(pirPin) == HIGH){
digitalWrite(ledPin, HIGH); //the led visualizes the sensors output pin state
tone(Buzzer,500);
if(lockLow){
//makes sure we wait for a transition to LOW before any further output is made:
lockLow = false;
Serial.println("---");
Serial.print("motion detected at ");
Serial.print(millis()/1000);
Serial.println(" sec");
delay(50);
}
takeLowTime = true;
}
if(digitalRead(pirPin) == LOW){
digitalWrite(ledPin, LOW); //the led visualizes the sensors output pin state
noTone(Buzzer);
if(takeLowTime){
lowIn = millis(); //save the time of the transition from high to LOW
takeLowTime = false; //make sure this is only done at the start of a LOW phase
}
//if the sensor is low for more than the given pause,
//we assume that no more motion is going to happen
if(!lockLow && millis() - lowIn > pause){
//makes sure this block of code is only executed again after
//a new motion sequence has been detected
lockLow = true;
Serial.print("motion ended at "); //output
Serial.print((millis() - pause)/1000);
Serial.println(" sec");
delay(50);
}
}
}
outcome
when any object goes near to PIR sensor the LED lights up and buzzer gets alarmed.
Comments
Post a Comment