標(biāo)題:
超聲波檢測到有人經(jīng)過的時(shí)候,藍(lán)牙發(fā)送信息到手機(jī)上怎么弄 求教導(dǎo) 謝謝 趕時(shí)間
[打印本頁]
作者:
iif
時(shí)間:
2018-1-14 01:02
標(biāo)題:
超聲波檢測到有人經(jīng)過的時(shí)候,藍(lán)牙發(fā)送信息到手機(jī)上怎么弄 求教導(dǎo) 謝謝 趕時(shí)間
本人用兩個(gè)超聲波和一個(gè)藍(lán)牙模塊hc06和stc89c52rc和一個(gè)5v降3.3v的某塊弄了一個(gè)東西,就是超聲波檢測到有人經(jīng)過的時(shí)候,藍(lán)牙發(fā)送信息到手機(jī)上,
但是我已經(jīng)將藍(lán)牙和手機(jī)連接在了一起,但是卻接收不到數(shù)據(jù),為什么呢,本人以前沒有玩過藍(lán)牙模塊,沒有怎么設(shè)置藍(lán)牙 AT指令之類的 該怎么做呢?
或者是我的程序出了問題 幫我看看問題
Cache_7df954199d6199de..jpg
(321.57 KB, 下載次數(shù): 35)
下載附件
2018-1-14 01:01 上傳
單片機(jī)源程序:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit trig=P1^1;
sbit trig2=P1^2;
sbit echo=P1^3;
sbit echo2=P1^4;
unsigned long s1=0,s2=0;
uchar code words[]="guard is here turn it off";
uchar code words2[]="guard is gone keep playing";
uchar code words3[]="guard is here";
uchar o,p,q;
uint time;
void delay(unsigned char x) //1ms延時(shí)函數(shù),100ms以內(nèi)可用
{
unsigned char i;
while(x--)
for(i=124;i>0;i--);
}
void Count1(void) //計(jì)算距離
{
trig=1;
delay(1);
trig=0;
while(!echo); //當(dāng)RX為零時(shí)等待
TR0=1; //開啟計(jì)數(shù)
while(echo); //當(dāng)RX為1計(jì)數(shù)并等待
TR0=0; //關(guān)閉計(jì)數(shù)
time=TH0*256+TL0; //讀取脈寬長度
TH0=0;
TL0=0;
s1=(time*1.7)/100; //算出來是CM
}
void Count2(void) //計(jì)算距離
{
trig2=1;
delay(1);
trig2=0;
while(!echo2); //當(dāng)RX為零時(shí)等待
TR0=1; //開啟計(jì)數(shù)
while(echo2); //當(dāng)RX為1計(jì)數(shù)并等待
TR0=0; //關(guān)閉計(jì)數(shù)
time=TH0*256+TL0; //讀取脈寬長度
TH0=0;
TL0=0;
s2=(time*1.7)/100; //算出來是CM
}
void Init(void)
{
TMOD = 0x31;
PCON &= 0x7f;
SCON = 0x50;//串行口控制寄存器 SM1=1,SM0=0方式一波特率可變
TH1 = 0xFD; //設(shè)置波特率 9600
TL1 = 0xFD;
TR1 = 1; //啟動(dòng)定時(shí)器1
TI = 0;
RI = 0;
TH0= TL0= 0;
ET0 = 1;
ES = 1; //開串口中斷
EA = 1; //開定時(shí)器中斷
}
void count()
{
while(1)
{
Count1();
Count2();
if((s1<80)||(s2<80)) //如果有一個(gè)超聲波有反應(yīng) 證明宿舍阿姨進(jìn)入了檢測區(qū)
{
ES=0;
for(o=0;o<26;o++)
{
SBUF=words[o];
while(!TI);
TI=0;
}
ES=1;
if((s1<80)||(s2<80))//進(jìn)入了之后兩個(gè)超聲波都沒有反應(yīng),證明阿姨在反應(yīng)區(qū)內(nèi)
{
ES=0;
for(p=0;p<26;p++)
{
SBUF=words2[p];
while(!TI);
TI=0;
}
ES=1;
}
else if((s1>150)&&(s2>150))//有一個(gè)超聲波反應(yīng)了,證明阿姨出去了 可以玩手機(jī)了
{
ES=0;
for(q=0;q>13;q++)
{
SBUF=words3[q];
while(!TI);
TI=0;
}
ES=1;
}
}
}
}
void main()
{
void Init();
while(1)
{
count();
}
}
復(fù)制代碼
作者:
iif
時(shí)間:
2018-1-14 01:34
上位機(jī)是藍(lán)牙串口助手Pro
作者:
zml88
時(shí)間:
2018-1-14 09:21
先不連接藍(lán)牙,把串口連接到PC,用PC的串口助手先把程序調(diào)試好,再換藍(lán)牙模塊與手機(jī)測試。如果PC端調(diào)通了手機(jī)端不通,可以換一個(gè)APP再試。以前做項(xiàng)目的時(shí)候,記得有的藍(lán)牙串口助手有問題。最好用模塊廠商提供的APP,好像是HC-COM。
作者:
plkio6613
時(shí)間:
2018-1-14 21:46
上位機(jī)是藍(lán)牙串口助手Pro
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1