亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

掌握蓝牙模块接口:Arduino连接蓝牙模块实战指南

初学者往往不知Arduino有丰富扩展模块。Arduino Uno虽流行但无内置蓝牙。虽可购买Arduino BT或树莓派4等自带蓝牙开发板,但更贵、更笨重、趣味减半。给无蓝牙单片机添加蓝牙功能,最佳方案是接口蓝牙模块。本指南演示如何将单片机与蓝牙模块接口,实现与手机/电脑等蓝牙设备无线连接。

什么是蓝牙接口

掌握蓝牙模块接口:Arduino连接蓝牙模块实战指南
蓝牙传感器、面包板、Arduino Uno

蓝牙是全球最普及的无线连接标准,用于设备间数据传输。蓝牙接口指启用/使用蓝牙设备。Wi-Fi用于远距离,蓝牙用于短距传输。最新蓝牙5.2达400米/2Mbps,未来版本将更远、更快。每次手机传文件/连设备本质即蓝牙接口。多数单片机无内置蓝牙,需扩展或加板实现。

蓝牙模块及其工作原理

掌握蓝牙模块接口:Arduino连接蓝牙模块实战指南
蓝牙模块

蓝牙模块让单片机/单板机与外设对接。亦称蓝牙传感器。仅当主板无内置蓝牙时需要。最常用HC-05和HC-06。模块呈绿色长方形贴于蓝色断路板,断路板提供引脚便于插面包板。

简单应用下HC-05/HC-06从机模式表现一致。推荐HC-05:可切换主/从模式;HC-06仅能作从机。连接两个Arduino项目需HC-05主动发起配对。

蓝牙模块结构

模块背面标注引脚。核心关注电源引脚VCC/GND,另有数据引脚RXD/TXD。RXD接收,TXD发送。HC-05额外两脚:EN(使能/Key)和STATE(状态输出)。供电电压3.6-6V安全,数据引脚需3.3V电平。

Arduino项目与手机蓝牙模块接口实战

掌握蓝牙模块接口:Arduino连接蓝牙模块实战指南
蓝牙传感器

演示通过蓝牙模块连接Arduino与手机。

所需元件

操作指引

硬件搭建

接线正确后效果如图:

掌握蓝牙模块接口:Arduino连接蓝牙模块实战指南
Arduino Uno连接HC-05模块

软件设置

编写代码监听蓝牙数据并经串口回显电脑。本项目作为电脑的蓝牙接收端。需编写蓝牙终端草图。

掌握蓝牙模块接口:Arduino连接蓝牙模块实战指南
蓝牙终端草图1
步骤1

引用SoftwareSerial库函数/类,使Arduino能蓝牙通信,草图中包含该库。

步骤2

指定收发串口引脚。示例用Pin 9作RX(Pin 9接模块TXD),Pin 8作TX(Pin 8接模块RXD)。

步骤3

实例化SoftwareSerial对象,参数为上步引脚。示例命名为BTSerial。

步骤4

定义setup():设置输入输出引脚。HC-05默认9600波特率与Arduino通信;可修改但示例保持默认(最接近准确波特率)。

步骤5

定义两个字符串变量存消息。loop()中用while循环监听Arduino与蓝牙设备通信。收到数据经串口打印,以分号(;)为行终止符。

掌握蓝牙模块接口:Arduino连接蓝牙模块实战指南
蓝牙终端草图2

上传草图后,手机与Arduino配对。开发板按钮启动,模块红灯闪烁进入配对模式。手机蓝牙设置扫描,选中模块配对,配对码通常"1234"。配对后需手机APP通信:应用商店下载"Serial Bluetooth Terminal",需支持经典蓝牙(Bluetooth Classic)。电脑端打开Arduino IDE串口监视器(9600波特率)。手机APP选中Arduino蓝牙项目连接,输入消息末尾加分号发送。

总结

按步骤操作,串口监视器将显示Arduino收到消息,电脑屏幕同步显示。适合新手入门。掌握基础后可扩展:加按钮、板载LED、直流电机、甚至发送邮件。希望指南有用,谢谢阅读。

工业技术

  1. Arduino Mega 2560 接 NEO-6M GPS 模块完整教程
  2. 掌握nRF24L01:无线通信、Arduino集成、电路与代码全攻略
  3. PIR人体红外传感器:工作原理与Arduino集成指南
  4. 规避数据分析项目常见陷阱:实战指南
  5. 使用 CAE E3.series 快速创建电气原理图:分步指南
  6. 掌握 E3.series 面板布线:分步指南
  7. 削减过剩库存提升履约效率
  8. 聚氨酯涂层安全耗散静电,防护 ESD 损伤
  9. Bluetooth Mesh设计抉择:模组还是离散器件?
  10. Python模块:创建、导入与高级用法
  11. Python 模块:组织代码以提升清晰度与复用性
  12. Java 接口详解:定义、实现与实战示例