用舊手機(jī)制作gsm遠(yuǎn)程報(bào)警器
再把它連接到手機(jī)的按鍵上。照片中手機(jī)按鍵上的三極管不是關(guān)鍵,可有可無(wú),初衷是為了檢車(chē)手機(jī)是否死機(jī)的。
在路由器的外殼是哪個(gè)打幾個(gè)洞,安裝銅柱。
銅柱螺絲若干
安裝了銅柱的外殼
在路由器的蓋子上挖一個(gè)洞,把紅外傳感器的透鏡部分外露。然后用熱熔膠粘牢。
大功告成
外表是一個(gè)路由器,實(shí)際上是一臺(tái)防盜器,呵呵。下面附單片機(jī)程序:
筆者指定的電話(huà)號(hào)碼已經(jīng)保存在手機(jī)電話(huà)薄的第一個(gè)位置,
本例工程文件下載:http://www.51hei.com/f/gsdeng.rar
代碼如下:
#include"reg52.h"
#define uint unsigned int
#define uchar unsigned char
sbit D1 = P1^0;
sbit D2 = P1^1;
sbit D3 = P1^2;
sbit D4 = P1^3;
uchar callnum;
void delay(uint num) //延時(shí)函數(shù)
{
uint i,j;
for(i=num;i>0;i--)
for(j=110;j>0;j--);
}
void key1()//按鍵1 手機(jī)的返回、電話(huà)薄鍵
{
D1 = 0; //按下
delay(500);//按下中
D1 = 1; //松開(kāi)
delay(500); //不能直接按下一個(gè)鍵,所以唯有延時(shí)500毫秒
}
void key2()//按鍵2 手機(jī)的掛機(jī)、關(guān)機(jī)、開(kāi)機(jī)鍵
{
D2 = 0;
delay(500);
D2 = 1;
delay(500);
}
void key3() //按鍵3 手機(jī)的接聽(tīng)鍵
{
D3 = 0;
delay(500);
D3 = 1;
delay(500);
}
void offon() //開(kāi)關(guān)機(jī)
{
D2 = 0;
delay(5000);//按住5秒開(kāi)機(jī)鍵可開(kāi)關(guān)機(jī)
D2 = 1;
delay(10000); //等待進(jìn)入本文引用地址:http://m.butianyuan.cn/article/201611/323987.htm
}
void call() //呼叫
{
key1(); //重復(fù)幾次按返回鍵和掛機(jī)鍵,讓未接來(lái)電和短信等提示信息消失
key2();
key1();
key2();
key1();
key2();
delay(10000);//延時(shí)等待手機(jī)提示框消失
key1();
key2();
key1();
key2();
delay(6000);//延時(shí)等待手機(jī)提示框消失
key1();//打開(kāi)電話(huà)薄
key3();//按下呼叫鍵
}
void call() //呼叫
{
key1(); //重復(fù)幾次按返回鍵和掛機(jī)鍵,讓未接來(lái)電和短信等提示信息消失
key2();
key1();
key2();
key1();
key2();
delay(10000);//延時(shí)等待手機(jī)提示框消失
key1();
key2();
key1();
key2();
delay(6000);//延時(shí)等待手機(jī)提示框消失
key1();//打開(kāi)電話(huà)薄
key3();//按下呼叫鍵
}
void main()
{
callnum = 0; //變量賦初值
offon();
call(); //響一下手機(jī),提示已經(jīng)進(jìn)入監(jiān)控狀態(tài)
delay(60000); //延時(shí)4分鐘,紅外模塊需要1分鐘的預(yù)啟動(dòng)時(shí)間,人走后需要2分鐘的冷卻時(shí)間,為了寬松點(diǎn),共4分鐘
delay(60000);
delay(60000);
delay(60000);
while(1)
{
if(D4 == 0)
{
call();
delay(60000);//每次呼叫兩分鐘
delay(60000);
callnum++; //每呼叫一次,變量加一
}
if(callnum == 3)
{
while(1);//連續(xù)呼叫3次后,就不再呼叫。
}
}
}
評(píng)論