找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3072|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

超聲波檢測(cè)到有人經(jīng)過(guò)的時(shí)候,藍(lán)牙發(fā)送信息到手機(jī)上怎么弄 求教導(dǎo) 謝謝 趕時(shí)間

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本人用兩個(gè)超聲波和一個(gè)藍(lán)牙模塊hc06和stc89c52rc和一個(gè)5v降3.3v的某塊弄了一個(gè)東西,就是超聲波檢測(cè)到有人經(jīng)過(guò)的時(shí)候,藍(lán)牙發(fā)送信息到手機(jī)上,
但是我已經(jīng)將藍(lán)牙和手機(jī)連接在了一起,但是卻接收不到數(shù)據(jù),為什么呢,本人以前沒(méi)有玩過(guò)藍(lán)牙模塊,沒(méi)有怎么設(shè)置藍(lán)牙  AT指令之類的 該怎么做呢?
或者是我的程序出了問(wèn)題 幫我看看問(wèn)題

單片機(jī)源程序:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char

  4.         sbit trig=P1^1;
  5.         sbit trig2=P1^2;
  6.         sbit echo=P1^3;
  7.         sbit echo2=P1^4;

  8.                 unsigned long s1=0,s2=0;
  9.                 uchar code words[]="guard is here turn it  off";
  10.                 uchar code words2[]="guard is gone keep playing";
  11.                 uchar code words3[]="guard is here";
  12.                 uchar o,p,q;
  13.                 uint time;

  14.         void delay(unsigned char x) //1ms延時(shí)函數(shù),100ms以內(nèi)可用
  15.         {
  16.         unsigned char i;
  17.         while(x--)
  18.         for(i=124;i>0;i--);
  19.         }

  20. void Count1(void)                   //計(jì)算距離
  21.         {
  22.                  trig=1;
  23.                  delay(1);
  24.                  trig=0;
  25.           while(!echo);                       //當(dāng)RX為零時(shí)等待
  26.            TR0=1;                               //開(kāi)啟計(jì)數(shù)
  27.           while(echo);                           //當(dāng)RX為1計(jì)數(shù)并等待
  28.             TR0=0;                                   //關(guān)閉計(jì)數(shù)
  29.             time=TH0*256+TL0;                   //讀取脈寬長(zhǎng)度
  30.             TH0=0;
  31.             TL0=0;
  32.             s1=(time*1.7)/100;        //算出來(lái)是CM
  33.         }
  34. void Count2(void)                   //計(jì)算距離
  35.         {
  36.                   trig2=1;
  37.                   delay(1);
  38.                   trig2=0;
  39.           while(!echo2);                       //當(dāng)RX為零時(shí)等待
  40.            TR0=1;                               //開(kāi)啟計(jì)數(shù)
  41.           while(echo2);                           //當(dāng)RX為1計(jì)數(shù)并等待
  42.             TR0=0;                                   //關(guān)閉計(jì)數(shù)
  43.             time=TH0*256+TL0;                   //讀取脈寬長(zhǎng)度
  44.             TH0=0;
  45.             TL0=0;
  46.             s2=(time*1.7)/100;        //算出來(lái)是CM
  47.         }

  48. void Init(void)
  49. {
  50.     TMOD    = 0x31;
  51.     PCON   &= 0x7f;
  52.     SCON    = 0x50;//串行口控制寄存器 SM1=1,SM0=0方式一波特率可變
  53.     TH1     = 0xFD; //設(shè)置波特率 9600
  54.     TL1     = 0xFD;
  55.     TR1     = 1;    //啟動(dòng)定時(shí)器1
  56.     TI      = 0;
  57.     RI      = 0;
  58.         TH0= TL0= 0;           
  59.         ET0     = 1;
  60.     ES      = 1;    //開(kāi)串口中斷
  61.     EA      = 1;   //開(kāi)定時(shí)器中斷

  62. }
  63. void count()
  64. {
  65. while(1)
  66. {
  67.         Count1();
  68.         Count2();
  69.                 if((s1<80)||(s2<80)) //如果有一個(gè)超聲波有反應(yīng) 證明宿舍阿姨進(jìn)入了檢測(cè)區(qū)
  70.                 {
  71.                 ES=0;
  72.                 for(o=0;o<26;o++)
  73.                 {
  74.                 SBUF=words[o];
  75.                 while(!TI);
  76.                 TI=0;
  77.                 }
  78.                 ES=1;
  79.                
  80.                         if((s1<80)||(s2<80))//進(jìn)入了之后兩個(gè)超聲波都沒(méi)有反應(yīng),證明阿姨在反應(yīng)區(qū)內(nèi)
  81.                     {               
  82.                         ES=0;
  83.                         for(p=0;p<26;p++)
  84.                         {        
  85.                         SBUF=words2[p];
  86.                         while(!TI);
  87.                         TI=0;
  88.                         }
  89.                         ES=1;
  90.                     }
  91.                             else if((s1>150)&&(s2>150))//有一個(gè)超聲波反應(yīng)了,證明阿姨出去了 可以玩手機(jī)了
  92.                             {
  93.                             ES=0;
  94.                             for(q=0;q>13;q++)
  95.                             {
  96.                             SBUF=words3[q];
  97.                             while(!TI);
  98.                             TI=0;
  99.                             }
  100.                             ES=1;
  101.                                    }
  102.             }
  103.         }
  104. }
  105. void main()
  106. {
  107. void Init();
  108. while(1)
  109. {
  110. count();
  111. }
  112. }
復(fù)制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:235164 發(fā)表于 2018-1-14 01:34 | 只看該作者
上位機(jī)是藍(lán)牙串口助手Pro
回復(fù)

使用道具 舉報(bào)

板凳
ID:258020 發(fā)表于 2018-1-14 09:21 | 只看該作者
先不連接藍(lán)牙,把串口連接到PC,用PC的串口助手先把程序調(diào)試好,再換藍(lán)牙模塊與手機(jī)測(cè)試。如果PC端調(diào)通了手機(jī)端不通,可以換一個(gè)APP再試。以前做項(xiàng)目的時(shí)候,記得有的藍(lán)牙串口助手有問(wèn)題。最好用模塊廠商提供的APP,好像是HC-COM。

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:275955 發(fā)表于 2018-1-14 21:46 | 只看該作者
上位機(jī)是藍(lán)牙串口助手Pro
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表