|
|
这段时间开始做平衡车,准备用蓝牙控制,同时为了方便调试mp6050,于是早早的把模块都安装起来,既然用到了蓝牙,自然是要试试蓝牙串口做无线下载的,好了废话不多说,基本情况交代完毕,下面开始正文吧!
基本硬件情况
HC-05 主从模块 usb转串口部分设置为master,小车上面设置为slave
arduino nano 328p 默认波特率 57600
sscom32 串口调试
ide 1.6.4
蓝牙串口设置
小车
AT+ORGL ->(恢复默认状态)
AT+NAME=Bluetooth-Slave ->(设置名称主要是为了区分)
AT+ ROLE=0 ->从角色(Slave)
AT+ PSWD=1234
AT+ UART=57600,0,0 ->(波特率57600,停止位1,校验位0)
AT+ CMODE=1 ->(任意蓝牙地址连接模式(不受绑定指令设置地址的约束))
AT+RMAAD ->(从配对列表中删除所有蓝牙设备)
usb转串口
AT+NAME=Bluetooth-Master
AT+ ROLE=1 ->主角色(Master)
其他部分两个模块设置相同
如果设置没问题 那么你应该可以看到两个模块已经连接上了(led慢闪,每次闪两次)
小车上蓝牙rx-arduino-tx , 蓝牙tx-arduino-rx , usb转串口接线相同
蓝牙串口遇到的问题及解决办法
1. 蓝牙串口向arduino下载程序失败,错误提示:
not in sync:resp=0x51 (0x2c/0xba)
programer is not responding
看字面的意思是下载的时候没有响应。我一开始一直不知道是什么原因出现这个问题,以为是蓝牙的问题,然后我突然发现usb转串口板上面的发送灯闪了三下。然后就开始有这个提示,想到ide下载程序之前会给arduino三个握手,在这三个握手之后如果没有回应就会出现这个问题,于是我一手点下载,一手放在复位按钮上面,看到usb转串口发送灯开始闪的时候立即就按了复位键,程序下载成功。
2.mp6050通过蓝牙返回数据乱码,我试了所有的波特率全部都不行,突然发现我程序里面的波特率设置的是115200.一个帖子里面讲发送和接受的波特率是需要一样的,我蓝牙设置的是57600 自然是会出现乱码的
总之全部都是低级错误,一不仔细就会搞得很头疼,特此记录一下,希望对遇到同样问题的同学有帮助
|
|