现打算做个用蓝牙控制的智能小车,蓝牙模块??

2019-07-15 20:10发布

现打算做个用蓝牙控制的智能小车,问题对蓝牙模块一无所知,跪求大神给个方向,如何自学,怎么起步??用的HC-06模块。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
A670521546
1楼-- · 2019-07-15 23:35
把指令先弄清楚
daxiandajie
2楼-- · 2019-07-16 00:24
A670521546 发表于 2014-4-15 23:13
把指令先弄清楚

嗯, 谢谢
HARRY007
3楼-- · 2019-07-16 04:25
 精彩回答 2  元偷偷看……
ntmusic
4楼-- · 2019-07-16 08:55
蓝牙模块本身并不难,从机也可以没有什么指令,默认都可以使用。就当做一条无线串口,直接往里塞数据就可以。难得是上位机程序编程,是用手机控制呢,还是一样使用蓝牙模块做主机。如果是前者,那么你就要会手机蓝牙编程,如果是后者,就需要在主机端配对一下从机,使用AT指令,都非常简单!
嵌入式linux工程
5楼-- · 2019-07-16 14:21
就用HC-06就可以了,用那种透传的
小浪c99
6楼-- · 2019-07-16 19:16
        #include<at89x51.H>      #define Left_1_led        P3_4         //P3_2接四路寻迹模块接口第一路输出信号即中控板上面标记为OUT1         #define Left_2_led        P3_5         //P3_3接四路寻迹模块接口第二路输出信号即中控板上面标记为OUT2              #define Right_1_led       P3_6         //P3_4接四路寻迹模块接口第三路输出信号即中控板上面标记为OUT3         #define Right_2_led       P3_7         //P3_5接四路寻迹模块接口第四路输出信号即中控板上面标记为OUT4          #define Left_moto_go      {P1_0=1,P1_2=0;}    //左边1个电机向前走         #define Left_moto_back    {P1_0=0,P1_2=1;}         //左边一个电机向后转         #define Left_moto_Stop    {P1_0=0,P1_1=0;}    //左边一个电机停转                              #define Right_moto_go     {P1_4=1,P1_6 =0;}        //右边一个电机向前走         #define Right_moto_back   {P1_4=0,P1_6=1;}        //右边一个电机向后走         #define Right_moto_Stop   {P1_4=0,P1_6=0;}        //右边一个电机停转             #define left     'C'     #define right    'D'         #define up       'A'     #define down     'B'         #define stop     'F'            bit  flag_REC=0;          bit  flag    =0;                     unsigned char  i=0;         unsigned char  dat=0;     unsigned char  buff[5]=0; //接收缓冲字节       /************************************************************************/         //延时函数            void delay(unsigned int k) {          unsigned int x,y;          for(x=0;x<k;x++)             for(y=0;y<2000;y++); }  / /************************************************************************/ //前速前进      void  run(void) {               Left_moto_go ;   //左电机往前走          Right_moto_go ;  //右电机往前走 }  //前速后退      void  backrun(void) {               Left_moto_back ;   //左电机往前走          Right_moto_back ;  //右电机往前走 }  //左转      void  leftrun(void) {               Left_moto_back ;   //左电机往前走          Right_moto_go ;  //右电机往前走 }  //右转      void  rightrun(void) {               Left_moto_go ;   //左电机往前走          Right_moto_back ;  //右电机往前走 } //STOP      void  stoprun(void) {               Left_moto_Stop ;   //左电机往前走          Right_moto_Stop ;  //右电机往前走 } /************************************************************************/ void sint() interrupt 4          //中断接收3个字节 {        if(RI)                         //是否接收中断     {        RI=0;        dat=SBUF;        if(dat=='O'&&(i==0)) //接收数据第一帧          {             buff[i]=dat;             flag=1;        //开始接收数据          }        else       if(flag==1)      {       i++;       buff[i]=dat;       if(i>=2)       {i=0;flag=0;flag_REC=1 ;}  // 停止接收      }          } } /*********************************************************************/                  /*--主函数--*/         void main(void) {        P1=0x00;         TMOD=0x20;       TH1=0xFd;                     //11.0592M晶振,9600波特率     TL1=0xFd;     SCON=0x50;       PCON=0x00;      TR1=1;         ES=1;        EA=1;                       while(1)                                                        /*无限循环*/         {            if(flag_REC==1)                                    //            {                 flag_REC=0;                 if(buff[0]=='O'&&buff[1]=='N')        //第一个字节为O,第二个字节为N,第三个字节为控制码                 switch(buff[2])              {                       case up :                                                    // 前进                           run();                           break;                       case down:                                                // 后退                                           backrun();                           break;                       case left:                                                // 左转                                           leftrun();                           break;                       case right:                                                // 右转                                                    rightrun();                           break;                       case stop:                                                // 停止                                                   stoprun();                           break;               }                                                           }         } }                                           

一周热门 更多>