基础连接
1.接线
2.测试,手机APP和测试架,成功互发AT指令即成功
3.完整教学
测试结果
- 起初手机APP搜索不到蓝牙,以测试架为主,另一个为从,从上面的蓝灯不亮,
后面重新恢复出厂设置(在串口助手上操作即可),等待,从的蓝灯亮,手机APP上搜索到蓝牙信号,即可在手机和PC上互发指令。
界面如下:
实际应用测试
1.51单片机的测试
官方包里面有51程序,简单通过串口控制小灯的亮灭
2.Arduino的 测试
测试了一个小例子,蓝牙远程控制小灯,手机APP和电脑串口都可以控制,发送0/1指令控制,代码见BluetoothContrlLED(见最后)
(基本蓝牙的功能就差不多了,再往深一点就是传感器采集数据,通过蓝牙模块传输到APP或者串口上)
PS:BluetoothContrlLED代码
代码原理未明白
读明白之后可以根据实际情况更改成自己所需要的
/*-----------------------------------------------------------------------------
* 实验说明 : arduino串口接收数据控制灯亮灭
* 连接方式 : arduinoRX--蓝牙模块TX,arduinoTX--蓝牙模块RX
* 版 本 : V1.0
* 注 意 : 本程序AT指令测试以HC-08为例,其他模块请参考规格书不需要回车换行的需要把Serial.println改为Serial.print
*******************************************************************************/
int LED = 13;void setup() {// put your setup code here, to run once:pinMode(LED,OUTPUT);// 定义13为输出引脚Serial.begin(9600);//模块上电灯快闪,arduino发送指令时需要按住模块上的按键//Serial.begin(38400);//按住按键再给模块上电,此时模块灯慢闪后即可松开按键
}void sendcmd(){Serial.println("AT");//send cmd AT\r\nwhile(Serial.available()){char ch;ch = Serial.read();Serial.print(ch);} // Get response: OK\r\ndelay(1000); // wait for printing }void loop() {//sendcmd();//循环发送AT指令,并接收反馈(测试模块AT指令时使用)while(Serial.available()){char ch;ch = Serial.read();Serial.print(ch); if(ch=='1')digitalWrite(LED,HIGH);//接收到1亮灯else if(ch=='0')digitalWrite(LED,LOW);//接收到0灭灯else{Serial.println("error cmd");//错误指令不作任何操作并输出error} } // Get response}