Professional Documents
Culture Documents
CODE
CODE
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
#include <Servo.h>
//----------------------------------ID đồ án-----------------------------
int giatricambienkhiga;
int giatricambienlua;
BlynkTimer timer;
Servo myServo;
WidgetLED led1(V0);
-
//-----------------ID WIFI VÀ TOKEN KẾT NỐI VỚI BLYNK----------------------------
void sendSensor()
if (led1.getValue()) {
led1.off();
} else {
led1.on();
// -----------------SETUP-----------------------------
void setup()
//--------------------------------Setup------------------------------------------
Serial.begin(9600);
dht.begin();
timer.setInterval(1000L, sendSensor);
myServo.attach(cuanha);
pinMode(D0,OUTPUT);
pinMode(cuanha,OUTPUT);
pinMode(relay,OUTPUT);
pinMode(den1,OUTPUT);
pinMode(den2,OUTPUT);
pinMode(den3,OUTPUT);
pinMode(cambienkhiga,INPUT);
//-------------!!-------VÒNG LẶP-----------------------!!------------------------
void loop()
Blynk.run();
timer.run();
//-----------------------Cảm biến nhiệt độ DHT22---------------------------------
delay(1000);
Serial.println(h); //Xuất độ ẩm
giatricambienkhiga = digitalRead(cambienkhiga);
if(giatricambienkhiga == 0){
myServo.write(0); //cửa mở
digitalWrite(den1,HIGH);
digitalWrite(den2,HIGH);
digitalWrite(den3,HIGH);
digitalWrite(relay,HIGH);
digitalWrite(buzzer,HIGH);
delay(5000);
if(giatricambienkhiga !=0){
digitalWrite(den1,LOW);
digitalWrite(den2,LOW);
digitalWrite(den3,LOW);
digitalWrite(buzzer,LOW);
digitalWrite(relay,LOW);
}
//-----------------------Cảm biến lửa--------------------------------------------
/*Nguyên lý : nếu tín hiệu digital từ cảm biến trả về là 0 (phát hiện lửa) thì
đồng thời cùng lúc xuất hiện cảnh báo trên Blynk,(đèn báo động,còi,quạt thông
gió) bật
,cửa nhà tự động mở.*/
/* Có thể phát hiện lửa tốt nhất
là loại có bước sóng từ 760nm – 1100nm.
*/
giatricambienlua = digitalRead(cambienlua);
if(giatricambienlua == 0){
myServo.write(0); //cửa mở
digitalWrite(den1,HIGH);
digitalWrite(den2,HIGH);
digitalWrite(den3,HIGH);
digitalWrite(buzzer,HIGH);
digitalWrite(relay,HIGH);
delay(5000);
if(giatricambienlua != 0){
digitalWrite(den1,LOW);
digitalWrite(den2,LOW);
digitalWrite(den3,LOW);
digitalWrite(buzzer,LOW);
digitalWrite(relay,LOW);
}
}