我的基本想法是通過Arduino LilyPad 實(shí)時(shí)at感器和人體紅外感應(yīng)模塊的信號(hào),有觸發(fā)信號(hào)后驅(qū)動(dòng)有源蜂鳴器模塊報(bào)警。
用到的東西:
Arduino LilyPad板子 1
震動(dòng)傳感器 1
人體紅外感應(yīng)模塊 1
有源蜂鳴器模塊 1
白色發(fā)光管1
藍(lán)色發(fā)光管1
按鍵開關(guān)1
USB轉(zhuǎn)TTL板 1
充電寶 1
程序反復(fù)修改了幾次,目前的算是定型了吧,檢測(cè)到震動(dòng)傳感器的觸發(fā)信號(hào),延時(shí)5秒,蜂鳴器發(fā)出一種頻率的報(bào)警聲,同時(shí)白色發(fā)光管發(fā)光;
檢測(cè)到人體紅外感應(yīng)模塊的觸發(fā)信號(hào),延時(shí)5秒,蜂鳴器發(fā)出第二種種頻率的報(bào)警聲,同時(shí)藍(lán)色發(fā)光管發(fā)光;檢測(cè)到人體紅外感應(yīng)模塊的觸發(fā)信號(hào)和震動(dòng)傳感器的觸 發(fā)信號(hào),延時(shí)5秒,蜂鳴器發(fā)出第三種種頻率的報(bào)警聲,同時(shí)藍(lán)色發(fā)光管和白色發(fā)光管發(fā)光;延時(shí)5秒是方便主人開門關(guān)閉報(bào)警;一旦聲光報(bào)警觸發(fā)會(huì)循環(huán)下去不會(huì) 停止,除非主人關(guān)閉電源或者充電寶電量不足。
下面是實(shí)物照片:
代碼:
int bjbz1=0;
int bjbz2=0;
int bjbz3=0;
unsigned char state = 0;
unsigned char i,j,m;
void setup()
{
pinMode(7,INPUT);//7腳接SR501人體紅外熱釋電傳感器輸出
pinMode(10,OUTPUT);//10腳接發(fā)光管藍(lán)色輸入
pinMode(2,INPUT);//2腳接震動(dòng)傳感器輸出
pinMode(11,OUTPUT);//11腳接發(fā)光管白色輸入
attachInterrupt(0, blink, FALLING);//D2口為外部中斷0,當(dāng)有下降沿觸發(fā)的時(shí)候調(diào)用blink函數(shù)
pinMode(9,OUTPUT);//9腳接有源蜂鳴器模塊輸入
Serial.begin(9600);
}
void loop()
{
if ((state!=0) && (bjbz1==0)&&(digitalRead(7)==0))
{ Serial.println(“zheng dong ok”);
state = 0;
delay(5000);
digitalWrite(11,HIGH);
Alarm1();
delay(3000);
noTone(9);
bjbz1=1;
}
else
{ noTone(9);
digitalWrite(11,LOW);
bjbz1=0;
}
if ((digitalRead(7)==1)&& (bjbz2==0) )
{
Serial.println(“hongwai ok”);
if (bjbz2==0)
delay(5000);
digitalWrite(10,HIGH);
Alarm2() ;
delay(3000);
noTone(9);
bjbz2=1;
} else
{
noTone(9);
digitalWrite(10,LOW);
bjbz2=0;
}
if ((state!=0) && (bjbz3==0)&&(digitalRead(7)==1))
{
Serial.println(“zheng dong and hongwai ok”);
if (bjbz3==0)
delay(5000);
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
Alarm3() ;
delay(3000);
noTone(9);
bjbz3=1;
}
else
{ noTone(9);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
bjbz3=0;
}
}
void blink()//數(shù)字輸入傳感器下降沿觸發(fā)中斷服務(wù)函數(shù)
{
state++;
}
void Alarm1()
{
while(bjbz1==0)
{
for(int i=100;i《800;i++)
{
tone(9,i);
delay(5);
}
delay(5000);
for(int i=800;i》=200;i--)
{tone(9,i);
delay(5);
}
delay(2000);
}
}
void Alarm2()
{
while(bjbz2==0)
{
for(int j=700;j《=1500;j++)
{
tone(9,j);
delay(5);
}
delay(4000);
for(int j=1500;j》=700;j--)
{
tone(9,j);
delay(5);
}
delay(2000);
}
}
void Alarm3()
{
while(bjbz3==0)
{
for(int m=400;m《=1400;m++)
{
tone(9,m);
delay(5);
}
delay(5000);
for(int m=1400;m》=400;m--)
{
tone(9,m);
delay(5);
}
delay(2000);
}
}
-
報(bào)警裝置
+關(guān)注
關(guān)注
0文章
33瀏覽量
12639 -
DIY
+關(guān)注
關(guān)注
176文章
894瀏覽量
356385 -
Arduino
+關(guān)注
關(guān)注
190文章
6509瀏覽量
194754 -
有源蜂鳴器
+關(guān)注
關(guān)注
0文章
31瀏覽量
11943
發(fā)布評(píng)論請(qǐng)先 登錄
如何制作基于單片機(jī)的主動(dòng)式紅外線檢測(cè)報(bào)警裝置
小戶型家庭防盜系統(tǒng)
請(qǐng)問基于ST的藍(lán)牙防盜報(bào)警裝置距離該用什么來設(shè)定?
基于MCU的遠(yuǎn)程智能防盜報(bào)警裝置設(shè)計(jì)
如何自制簡(jiǎn)易地震報(bào)警裝置
射頻識(shí)別芯片在汽車智能防盜報(bào)警裝置中的應(yīng)用是什么
報(bào)警裝置的密碼控制電路

如何制作柜子開合報(bào)警裝置 防盜更安全

基于P2288傳感器和CSC5087編碼器實(shí)現(xiàn)遠(yuǎn)程智能防盜報(bào)警裝置的設(shè)計(jì)

評(píng)論