新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用舊手機(jī)制作gsm遠(yuǎn)程報(bào)警器

用舊手機(jī)制作gsm遠(yuǎn)程報(bào)警器

作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏



再把它連接到手機(jī)的按鍵上。照片中手機(jī)按鍵上的三極管不是關(guān)鍵,可有可無,初衷是為了檢車手機(jī)是否死機(jī)的。


在路由器的外殼是哪個(gè)打幾個(gè)洞,安裝銅柱。


銅柱螺絲若干


安裝了銅柱的外殼


在路由器的蓋子上挖一個(gè)洞,把紅外傳感器的透鏡部分外露。然后用熱熔膠粘牢。


大功告成


外表是一個(gè)路由器,實(shí)際上是一臺(tái)防盜器,呵呵。下面附單片機(jī)程序:


筆者指定的電話號(hào)碼已經(jīng)保存在手機(jī)電話薄的第一個(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ī)的返回、電話薄鍵
{
D1 = 0; //按下
delay(500);//按下中
D1 = 1; //松開
delay(500); //不能直接按下一個(gè)鍵,所以唯有延時(shí)500毫秒
}
void key2()//按鍵2 手機(jī)的掛機(jī)、關(guān)機(jī)、開機(jī)鍵
{
D2 = 0;
delay(500);
D2 = 1;
delay(500);
}
void key3() //按鍵3 手機(jī)的接聽鍵
{
D3 = 0;
delay(500);
D3 = 1;
delay(500);
}
void offon() //開關(guān)機(jī)
{
D2 = 0;
delay(5000);//按住5秒開機(jī)鍵可開關(guān)機(jī)
D2 = 1;
delay(10000); //等待進(jìn)入

本文引用地址:http://butianyuan.cn/article/201611/323987.htm
}
void call() //呼叫
{
key1(); //重復(fù)幾次按返回鍵和掛機(jī)鍵,讓未接來電和短信等提示信息消失
key2();
key1();
key2();
key1();
key2();
delay(10000);//延時(shí)等待手機(jī)提示框消失
key1();
key2();
key1();
key2();
delay(6000);//延時(shí)等待手機(jī)提示框消失
key1();//打開電話薄
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次后,就不再呼叫。
}
}
}


上一頁 1 2 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉