Liên L C

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 16

//Nhắn tin điều khiển bật tắt 5 thiết bị và báo động cháy, ngạt, trộm, khẩn cấp cho

chủ nhà.

// Nếu nội dung tin nhắn là : BAT1 thì bật TB1

// Nếu nội dung tin nhắn là : TAT1 thì tắt TB1

// Nếu nội dung tin nhắn là : BAT2 thì bật TB2

// Nếu nội dung tin nhắn là : TAT2 thì tắt TB2

// Nếu nội dung tin nhắn là : BAT3 thì bật TB3

// Nếu nội dung tin nhắn là : TAT3 thì tắt TB3

// Nếu nội dung tin nhắn là : BAT4 thì bật TB4

// Nếu nội dung tin nhắn là : TAT4 thì tắt TB4

// Nếu nội dung tin nhắn là : BAT5 thì bật TB5

// Nếu nội dung tin nhắn là : TAT5 thì tắt TB5

// Nếu nội dung tin nhắn là : BATTC thì bật tất cả TB

// Nếu nội dung tin nhắn là : TATTC thì tắt tất cả TB

// Nếu nội dung tin nhắn là : MOCONG thì mở cổng

// Nếu nội dung tin nhắn là : DONGCONG thì đóng cổng

// Nếu nội dung tin nhắn là : BATDH thì bật điều hòa.

const String myphone = "0335846226";

const int PWR_KEY = 21;

const int BTB1 = 2;

const int TTB1 = 3;

const int TTTB1 = 4;

const int BTB2 = 5;

const int TTB2 = 6;

const int TTTB2 = 7;

const int BTB3 = 8;

const int TTB3 = 9;


const int TTTB3 = 10;

const int Dieuhoa = 11;

const int TTDH = 12;

const int BTB4 = A8;

const int TTB4 = A9;

const int TTTB4 = A10;

const int BTB5 = A11;

const int TTB5 = A12;

const int TTTB5 = A13;

const int Baotrom = 22;

const int Baochay = 24;

const int Baokhi = 26;

const int Baodongkhan = 28;

const int Mcong = 30;

const int Dcong = 32;

const int CBM = 34;

const int CBD = 36;

String tinnhan = "";

int Bat1 = -1; // vi tri cua chuoi "B1"

int Tat1 = -1; // vi tri cua chuoi "T1"

int tb1=0; // trạng thái bật tắt TB1

int Bat2 = -1; // vi tri cua chuoi "B2"


int Tat2 = -1; // vi tri cua chuoi "T2"

int tb2=0; // trạng thái bật tắt TB2

int Bat3 = -1; // vi tri cua chuoi "B3"

int Tat3 = -1; // vi tri cua chuoi "T3"

int tb3=0; // trạng thái bật tắt TB3

int Bat4 = -1; // vi tri cua chuoi "B4"

int Tat4 = -1; // vi tri cua chuoi "T4"

int tb4=0; // trạng thái bật tắt TB4

int Bat5 = -1; // vi tri cua chuoi "B5"

int Tat5 = -1; // vi tri cua chuoi "T5"

int tb5=0; // trạng thái bật tắt TB5

int BatDH = -1; // vi tri cua chuoi "BDH"

int ttdieuhoa=0;

int Dongcong = -1; // vi tri cua chuoi "DC"

int Mocong =-1; // vi tri cua chuoi "MC"

int cong=0; // trạng thái đóng mở cổng

int Batall = -1; // vi tri cua chuoi "BAT"

int Tatall = -1; // vi tri cua chuoi "TAT"

int kiemtra = -1;

int ttcong=100;

void Power_On(); // Bat module Sim 900A

void Cauhinh(); // Cau hinh Module Sim 900A

void Goi(String phone); // Ham goi dien

void NT(String phone,String content); // Ham nhan tin

void Baodong();

void setup() {

Serial.begin(9600); // Cau hinh UART de giao tiep module Sim 900A


pinMode(Baotrom,INPUT); //chan Baotrom nhận tín hiệu báo trộm

pinMode(Baochay, INPUT); // chan baochay nhận tín hiệu báo cháy

pinMode(Baokhi, INPUT); // chân bao khi nhan tin hieu bao ngat

pinMode (Baodongkhan, INPUT); // chan baodongkhan nhận tín hiệu khẩn cấp

pinMode(BTB1, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY1

digitalWrite(BTB1, LOW);

pinMode(TTB1, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY1

digitalWrite(TTB1, LOW);

pinMode(TTTB1,INPUT);

pinMode(BTB2, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY2

digitalWrite(BTB2, LOW);

pinMode(TTB2, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY2

digitalWrite(TTB2, LOW);

pinMode(TTTB2,INPUT);

pinMode(BTB3, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY3

digitalWrite(BTB3, LOW);

pinMode(TTB3, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY3

digitalWrite(TTB3, LOW);

pinMode(TTTB3,INPUT);

pinMode(BTB4, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY4

digitalWrite(BTB4, LOW);

pinMode(TTB4, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY4

digitalWrite(TTB4, LOW);

pinMode(TTTB4,INPUT);
pinMode(BTB5, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY5

digitalWrite(BTB5, LOW);

pinMode(TTB5, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY5

digitalWrite(TTB5, LOW);

pinMode(TTTB5,INPUT);

pinMode(Dieuhoa, OUTPUT); // Khai bao chan de dieu khien dong cat RELAY5

digitalWrite(Dieuhoa, LOW);

pinMode (TTDH,INPUT); // đọc trạng thái điều hòa

pinMode(Mcong, OUTPUT); // Khai bao chan de dieu khien mở cổng

digitalWrite(Mcong, LOW);

pinMode(Dcong, OUTPUT); // Khai bao chan de dieu khien dong cổng

digitalWrite(Dcong, LOW);

pinMode (CBM, INPUT); // chân CBM báo mở cổng

pinMode (CBD, INPUT); // chân CBD báo đóng cổng

pinMode(PWR_KEY, OUTPUT);

digitalWrite(PWR_KEY, LOW);

delay(1000);

Power_On();

delay(10000);

Cauhinh();

Goi(myphone);

NT(myphone," Da khoi dong NHA VIET NHU Y! ");

}
void loop(){

Bat1 = tinnhan.indexOf("BAT1");

if(Bat1 >= 0)

{ Bat1 = -1;

tinnhan = "";

digitalWrite(BTB1, HIGH); delay(800); digitalWrite(BTB1,LOW);

NT(myphone," Da BAT thiet bi 1 ");

else

Tat1 = tinnhan.indexOf("TAT1");

if(Tat1 >= 0)

{ Tat1 = -1;

tinnhan = "";

digitalWrite(TTB1, HIGH); delay(800); digitalWrite(TTB1, LOW);

NT(myphone," Da TAT thiet bi 1 ");

}delay(200);

Baodong();

Bat2 = tinnhan.indexOf("BAT2");

if(Bat2 >= 0)

{ Bat2 = -1;

tinnhan = "";

digitalWrite(BTB2, HIGH); delay(800); digitalWrite(BTB2, LOW);

NT(myphone," Da BAT thiet bi 2");

else
{

Tat2 = tinnhan.indexOf("TAT2");

if(Tat2 >= 0)

{ Tat2 = -1;

tinnhan = "";

digitalWrite(TTB2, HIGH); delay(800); digitalWrite(TTB2, LOW);

NT(myphone," Thiet bi 2 da TAT");

}delay(200);

Baodong();

Bat3 = tinnhan.indexOf("BAT3");

if(Bat3 >= 0)

{ Bat3 = -1;

tinnhan = "";

digitalWrite(BTB3, HIGH); delay(800); digitalWrite(BTB3, LOW);

NT(myphone," Thiet bi 3 da BAT");

else

Tat3 = tinnhan.indexOf("TAT3");

if(Tat3 >= 0)

{ Tat3 = -1;

tinnhan = "";

digitalWrite(TTB3, HIGH); delay(800); digitalWrite(TTB3, LOW);

NT(myphone," Thiet bi 3 da TAT");

}delay(200);

Baodong();
Bat4 = tinnhan.indexOf("BAT4");

if(Bat4 >= 0)

{ Bat4 = -1;

tinnhan = "";

digitalWrite(BTB4,HIGH); delay(800); digitalWrite(BTB4, LOW);

NT(myphone," Thiet bi 4 da BAT");

else

Tat4 = tinnhan.indexOf("TAT4");

if(Tat4 >= 0)

{Tat4 = -1;

tinnhan = "";

digitalWrite(TTB4, HIGH); delay(800); digitalWrite(TTB4, LOW);

NT(myphone," Thiet bi 4 da TAT");

}delay(200);

Baodong();

Bat5 = tinnhan.indexOf("BAT5");

if(Bat5 >= 0)

{ Bat5 = -1;

tinnhan = "";

digitalWrite(BTB5, HIGH); delay(800); digitalWrite(BTB5, LOW);

NT(myphone," Thiet bi 5 da BAT");

else

{
Tat5 = tinnhan.indexOf("TAT5");

if(Tat5 >= 0)

{ Tat5 = -1;

tinnhan = "";

digitalWrite(TTB5, HIGH); delay(800); digitalWrite(TTB5, LOW);

NT(myphone," Thiet bi 5 da TAT");

}delay(200);

Baodong();

BatDH = tinnhan.indexOf("BATDH");

if(BatDH >= 0)

{ BatDH = -1;

tinnhan = "";

digitalWrite(Dieuhoa, HIGH); delay(4800); digitalWrite(Dieuhoa, LOW);

NT(myphone," Dieu hoa da BAT");

delay(200);

Baodong();

Mocong = tinnhan.indexOf("MOCONG");

if(Mocong >= 0)

{Mocong = -1;

tinnhan = ""; ttcong=5;

digitalWrite(Mcong, HIGH); delay(800); digitalWrite(Mcong, LOW);

delay(10000); Baodong();

else

{
Dongcong = tinnhan.indexOf("DONGCONG");

if(Dongcong >= 0)

Dongcong = -1;

tinnhan = ""; ttcong=5;

digitalWrite(Dcong, HIGH); delay(800); digitalWrite(Dcong, LOW);

delay(10000); Baodong(); // Cat Relay de tat den1

}delay(200);

int mo = digitalRead(CBM);

int dong = digitalRead(CBD);

if (mo==HIGH) {cong=1;++ttcong;}

if (dong==HIGH) {cong=0;++ttcong;}

if (ttcong==10) {

if (cong==1) {NT(myphone," Cong da MO"); }

if (cong==0) {NT(myphone," Cong da DONG"); }

++ttcong;}

if(ttcong>1000) {ttcong = 100;}

Batall = tinnhan.indexOf("BATTC");

if(Batall >= 0)

{Batall = -1;

tinnhan = "";

digitalWrite(BTB1,HIGH);digitalWrite(BTB2,HIGH);digitalWrite(BTB3,HIGH);
digitalWrite(BTB4,HIGH);digitalWrite(BTB5,HIGH);

delay(1000);

digitalWrite(BTB1,LOW);digitalWrite(BTB2,LOW);digitalWrite(BTB3,LOW);

digitalWrite(BTB4,LOW);digitalWrite(BTB5,LOW);

NT(myphone," Toan bo cac thiet bi da BAT"); // bao da bat

else

{Tatall = tinnhan.indexOf("TATTC");

if(Tatall >= 0)

{Tatall = -1;

tinnhan = "";

digitalWrite(TTB1,HIGH);digitalWrite(TTB2,HIGH);digitalWrite(TTB3,HIGH);

digitalWrite(TTB4,HIGH);digitalWrite(TTB5,HIGH);

delay(1000);

digitalWrite(TTB1,LOW);digitalWrite(TTB2,LOW);digitalWrite(TTB3,LOW);

digitalWrite(TTB4,LOW);digitalWrite(TTB5,LOW);

NT(myphone," Toan bo cac thiet bi da TAT"); // Bao da tat

} delay(200);

Baodong();

kiemtra = tinnhan.indexOf("KIEMTRA");

if(kiemtra >= 0)

{kiemtra = -1;

tinnhan = "";

int tttb1 = digitalRead(TTTB1);

int tttb2 = digitalRead(TTTB2);

int tttb3 = digitalRead(TTTB3);

int tttb4 = digitalRead(TTTB4);


int tttb5 = digitalRead(TTTB5);

int ttDH = digitalRead(TTDH);

int mo = digitalRead(CBM);

int dong = digitalRead(CBD);

if (mo==HIGH) {cong=1;}

if (dong==HIGH) {cong=0;}

if (tttb1==HIGH) {tb1=1;}

if (tttb1==LOW) {tb1=0;}

if (tttb2==HIGH) {tb2=1;}

if (tttb2==LOW) {tb2=0;}

if (tttb3==HIGH) {tb3=1;}

if (tttb3==LOW) {tb3=0;}

if (tttb4==HIGH) {tb4=1;}

if (tttb4==LOW) {tb4=0;}

if (tttb5==HIGH) {tb5=1;}

if (tttb5==LOW) {tb5=0;}

if (ttDH==HIGH) {ttdieuhoa=1;}

if (ttDH==LOW) {ttdieuhoa=0;}

if(cong==1){NT(myphone," Cong dang MO");}

else if(cong==0){NT(myphone," Cong dang DONG");};


if (ttdieuhoa == 1) { NT(myphone," Dieu hoa dang BAT");}

else { NT(myphone," Dieu hoa dang TAT");};

if (tb1==1) {NT(myphone," Thiet bi 1 dang BAT");}

else if (tb1==0) {NT(myphone," Thiet bi 1 dang TAT");};

if (tb2==1) {NT(myphone," Thiet bi 2 dang BAT");}

else if (tb2==0) {NT(myphone," Thiet bi 2 dang TAT");};

if (tb3==1) {NT(myphone," Thiet bi 3 dang BAT");}

else if (tb3==0) {NT(myphone," Thiet bi 3 dang TAT");};

if (tb4==1) {NT(myphone," Thiet bi 4 dang BAT");}

else if (tb4==0) {NT(myphone," Thiet bi 4 dang TAT");};

if (tb5==1) {NT(myphone," Thiet bi 5 dang BAT");}

else if (tb5==0) {NT(myphone," Thiet bi 5 dang TAT");};

delay(200);

Baodong();

void Goi(String phone)

Serial.println("ATD" + phone + ";");

delay(15000);

Serial.println("ATH");

delay(2000);
}

void NT(String phone,String content)

Serial.println("AT+CMGS=\"" + phone + "\"");

delay(3000);

Serial.print(content);

Serial.print((char)26);

delay(5000);

void Baodong(){

int khancap = digitalRead(Baodongkhan);

if(khancap == HIGH) { Goi(myphone);

NT(myphone,"BAO DONG KHAN CAP!"); delay(30000); khancap= LOW;}

delay(100);

int trom =digitalRead(Baotrom);

if(trom== HIGH){Goi(myphone);

NT(myphone,"CO TROM !");delay(30000); trom = LOW;};

delay(100);

int chay =digitalRead(Baochay);

if(chay== HIGH){ Goi(myphone);

NT(myphone,"CO CHAY !");delay(30000);chay = LOW;};

delay(100);

int ngat =digitalRead(Baokhi);

if(ngat== HIGH){ Goi(myphone);


NT(myphone," NGAT KHI !");delay(30000); ngat = LOW;};

delay(100);

void serialEvent() {

while (Serial.available()) {

char inChar = (char)Serial.read();

tinnhan += inChar;

if(tinnhan.length()>= 128)

{tinnhan = "";}

void Power_On(){

digitalWrite(PWR_KEY, LOW);

digitalWrite(PWR_KEY, HIGH); delay(1500);

void Cauhinh(){

Serial.println("ATE0");

delay(500);

Serial.println("AT+IPR=9600");

delay(500);

Serial.println("AT+CMGF=1");

delay(500);

Serial.println("AT+CLIP=1");

delay(500);

Serial.println("AT+CNMI=2,2");

delay(500);
}

You might also like