Sma

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

#define BLYNK_PRINT Serial//libraries needed in

communicating with android app


#include <SoftwareSerial.h>//libraries needed in
communicating with gps and nodemcu
#include <ESP8266WiFi.h>// libraries needed to
communicate and connect with wifi and internet
#include <BlynkSimpleEsp8266.h>//libraries required to
connect with blynk cloud server
char auth[] = "dR3UxhMY-_f1YEvlGVl0RXEkVyWTMAGN";// app
authentication key to establish communication betweeen
nodemcu and app
char ssid[] = "vinay";//wifi name
char pass[] = "9844131711";//password
int pir_sensor = D1;
int pir_sensor_state = 0;
int pi_state = 0;
int pir_sensor2 = D2;
int pir_sensor_state2 = 0;

int door_lock = D6 ;
int motion_status = 0;
int pi = D5;
int lock = 0;
int lock_state = 0;
unsigned long startMillis = 0; // will store last
time LED was updated
const long interval = 1000;
BlynkTimer timer;
WidgetLCD lcd(V1);
WidgetLCD lcd1(V5);
WidgetLED led(V6);
void PirMotion() {
Blynk.virtualWrite(V2, motion_status);
}
BLYNK_WRITE(V3) {
pi_state = param.asInt();
if(pi_state == 1){
digitalWrite(pi,HIGH);
lcd.print(0, 1, " Photo Sent ");
led.on();
startMillis = millis();
while ((millis() - startMillis) <= interval) {
}
delay(1000);
digitalWrite(pi,LOW);
led.off();
lcd.print(0, 1, " Photo Sent ");
}
else{
digitalWrite(pi,LOW);
led.off();
lcd.print(0, 1, " ");
}
}
BLYNK_WRITE(V4) {
lock = param.asInt();
if (lock == 1) {
digitalWrite(door_lock, HIGH);//door unlocked
Serial.println("DOOR UNLOCK");
lcd.print(0, 1, "Door Unlocking ");
startMillis = millis();
while ((millis() - startMillis) <= interval) {
}
delay(1000);
Serial.println("DOOR LOCKING NOW");
digitalWrite(door_lock, LOW);//door locked
lcd.print(0, 1, "Door Locking Now");
startMillis = millis();
while ((millis() - startMillis) <= interval) {
}
lcd.print(0, 1, "Door is locked ");
}
else {
startMillis = millis();
while ((millis() - startMillis) <= interval) {
}
lcd.print(0, 1, "Door is locked ");
digitalWrite(door_lock, LOW);
Serial.println("DOOR LOCKED ");

}
}

void setup() {
pinMode(pir_sensor2, INPUT);
pinMode(pir_sensor, INPUT);
pinMode(door_lock, OUTPUT);
pinMode(pi, OUTPUT);
Serial.begin(9600);//serial communication baud rate
which we use while using serial monitor
Blynk.begin(auth, ssid, pass);//declaring and
initializing the communication bet wifi and app and node
mcu
timer.setInterval(1L, PirMotion);
}

void loop() {
pir_sensor_state2 = digitalRead(pir_sensor2);
pir_sensor_state = digitalRead(pir_sensor);

if (pir_sensor_state == 1 || pir_sensor_state2 == 1) {
Serial.println("Motion Detected");
Serial.println("1");
lcd.print(0, 0, "Motion Detected");
motion_status = 1000;
}
else {
lcd.print(0, 0, " ");
Serial.println("0");
motion_status = 0;
}
Blynk.run();
timer.run();
}

You might also like