該制作采用STC89C52RC做主控芯片,4個松樂5V繼電器做插座電源控制器,9013三極管驅動繼電器,HC-05藍牙模塊完成手機與單片機通信。
手機APP采用E4A編譯制作,界面共有若干按鍵,打開手機藍牙后搜索設備,連接后即可通過插孔X按鈕完成對插座通斷電的控制。
因為基于藍牙通信,固通信距離不是很長,理論距離十米內,在空曠地方實測13米也能用,可滿足一般家庭使用,為一款懶人必備神器。
程序與APP見附件。
e4a源程序:
單片機源程序如下:
- #include <reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit k1=P1^0;
- sbit k2=P1^1;
- sbit k3=P1^2;
- sbit k4=P1^3;
- uchar num ;
- void UART_init()
- {
- TMOD = 0x20; //T1工作模式2 8位自動重裝
- TH1 = 0xfd;
- TL1 = 0xfd; //比特率9600
- TR1 = 1; //啟動T1定時器
- SM0 = 0;
- SM1 = 1; //串口工作方式1 10位異步
- REN = 1; //串口允許接收
- EA = 1; //開總中斷
- ES = 1; //串口中斷打開
- }
- void main()
- {
- UART_init(); //串口初始化
- k1=1;
- k2=0;
- k3=0;
- k4=0;
- while(1)
- {
- if(num==0x31)
- {
- k1 = ~k1;
- num = 0x00;
- }
- else if (num==0x32)
- {
- k2=~k2;
- num=0x00;
- }
- else if (num==0x33)
- {
- k3=~k3;
- num=0x00;
- }
- else if (num==0x34)
- {
- k4=~k4;
- num=0x00;
- }
- else if (num==0x35)
- {
- P1=0x00;
- num=0x00;
- }
- else if (num==0x36)
- {
- P1=0xff;
- num=0x00;
- }
- }
- }
- void UART() interrupt 4
- {
- if(RI) //檢測是否接收完成
- {
- num = SBUF; //num 取出接收緩存器的值
- RI = 0;
- SBUF = num;
- while(!TI);
- TI = 0;
- }
- }
復制代碼
所有資料51hei提供下載:
藍牙插座.rar
(809.8 KB, 下載次數: 237)
2019-10-9 11:27 上傳
點擊文件名下載附件
|