单片机交流
直播中

qjqb

8年用户 1246经验值
擅长:5762
私信 关注
[问答]

请问为什么需要蓝牙无线烧录?如何实现蓝牙无线烧录?

为什么需要蓝牙无线烧录?

如何实现蓝牙无线烧录?

回帖(1)

黎桂珍

2021-10-27 10:55:02
一、 为什么需要蓝牙无线烧录

     当我们把单片机开发板、或者使用自制系统板安装到设备上后,要进行重新烧录总要拖着一条长长USB线,特别是对于一些开发板,例如Arduino pro mini这种不带USB to TTL的开发板,更是要拉着好几根杜邦线进行烧录,还会面临接触不良的问题,特别特别麻烦。所以,使用一片HC-05或者HC-06实现蓝牙通讯的同时,还能实现稳定的烧录,岂不是一件美滋滋的事。

       在之前学习Arduino蓝牙烧录的时候了解到这篇文章:通过蓝牙模块无线上传Arduino程序
      
       但这篇文章的方法同Arduino Pro Mini的烧录方式一样(不使用DTR),都需要进行手动复位,使单片机进入BL,编译简单的程序你还可以在旁边等待开始上传,然后按下复位按键,成功烧录。  
但是!!!!
       如果遇到项目比较大(Arduino IDE编译出了名的慢)的程序,如果编译几分钟,你们看到,错过了时机,一首凉凉送给你。所以,在把凉凉背下来的时候,搞出了自动烧录这玩意。
二、如何实现蓝牙无线烧录

          无线烧录的大体流程就是,检测到连接,复位单片机,转发电脑数据和单片机数据交互,完成烧录。
以下是了解系统工作原理的基础知识:
        (1)对于Arduino IDE(没测试过,不确定Windows下的蓝牙串口是打开再连接蓝牙还是),使用串口监视器或进行烧录,会断开蓝牙连接,再重新连接,发送/接收数据,这点很重要,这个威廉希尔官方网站 的原理就是利用烧录时候连接蓝牙,蓝牙模块的连接指示进行烧录的。
         (2)电容具有隔离直流通交流的作用,单片机的复位都是需要一个高(低)电平脉冲来进行复位的,如果一直拉高(拉低)单片机复位引脚,则单片机无法正常工作。所以,使用电容来把持续的电平信号转换为单个脉冲信号显得尤为重要。
          (3)蓝牙透传模块可以把电脑的串口数据按照模块设置好的波特率发送过去,动都不动的那种。
三、需要的材料

(1)HC-056 一块
(2)S8050 一颗
(3)104电容一颗(如果板载DTR引脚,可以不用这颗电容)
(4)1K电阻2个
(5)连接线材若干、面包板一块(如何连接就八仙过海各显神通了哈)
四、原理图






        简简单单的原理图  
五、具体操作

(1)设置蓝牙模块:蓝牙模块设置过程很简单,只需要设置对应的波特率,把波特率设置为和开发板BL需要的波特率一样就行。
以下是部分Arduino波特率设置参考
UNO、MEGA2560:115200
atmega328:57600
atmega168,atmega8 :19200
具体操作为,按住蓝牙模块EN按钮,使用USB转TTL连接电脑,使用串口监视器波特率38400发送AT返回AT则表明成功进入AT模式,需要用到AT指令为:
AT+UART=115200,1,2
(2)搭建威廉希尔官方网站 :这部分没什么好说的,就是按照原理图连连看就完事了。
(3)蓝牙连接电脑:打开电脑蓝牙,搜索蓝牙模块(蓝牙模块要通电),输入配对码(不是0000,就是1234),然后点“更多蓝牙选型”,COM端口,记住方向为传出的COM号,Arduino或者其他软件使用此串口号即可通讯。
六、演示

由于年少时对元器件功能理解不透彻,做了个贼复杂的威廉希尔官方网站 ,视频里的威廉希尔官方网站 也能用,就是太复杂了
旧版的演示视频
举报

更多回帖

发帖
×
20
完善资料,
赚取积分