基于Arduino使用HC-06 BLE蓝牙模块
蓝牙简介
蓝牙是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4~2.485GHz的ISM波段的UHF无线电波),蓝牙技术最初由电信巨头爱立信公司于1994年创制,当时是作为RS232数据线的替代方案,蓝牙可连接多个设备,克服了数据同步的难题。 蓝牙主设备最多可与一个微微网(一个采用蓝牙技术的临时计算机网络)中的七个设备通讯, 当然并不是所有设备都能够达到这一最大量,设备之间可通过协议转换角色,从设备也可转换为主设备(比如,一个头戴式耳机如果向手机发起连接请求,它作为连接的发起者,自然就是主设备,但是随后也许会作为从设备运行)。 数据传输可随时在主设备和其他设备之间进行(应用极少的广播模式除外),主设备可选择要访问的从设备;典型的情况是,它可以在设备之间以轮替的方式快速转换,因为是主设备来选择要访问的从设备,理论上从设备就要在接收槽内待命,主设备的负担要比从设备少一些,主设备可以与七个从设备相连接,但是从设备却很难与一个以上的主设备相连。规格对于散射网中的行为要求是模糊的。
(HC-06蓝牙模块 无线串口模块 带底板DIY串口通讯从机模块)
产品参数
小板PCB尺寸:40mm*17mm 输入电压:3.6-6V,禁止超过7V 电源防反接,接反模块不工作 4个引脚:VCC/GND/RXD/TXD 带状态指示灯(蓝牙未配对成功时,LED灯闪烁;配对成功后,LED常亮) 板载3.3V稳压芯片,输入电压直流3.6V-6V(未配对时,电流不超过40mA【因LED灯闪烁,电流处于变化状态】;配对成功后,电流大约4mA) 接口电平:3.3V 连接设备:可以直接连接各种单片机(Arduino/51/AVR/PIC/ARM/M-SP430等等,5V单片机也可以直接连接,直接连接单片机串口,不能经过MAX232芯片!) 空旷地带有效传输距离:10米 配对成功以后,可以作为全双工串口使用 在未建立蓝牙连接时,可以通过AT指令设置模块波特率、名称、配对密码,设置的参数掉电保存,蓝牙连接后,自动切换到透传模式 该模块为从机,可以和各种带蓝牙功能的电脑、大部分带蓝牙功能的手机、PDA、PSP等智能终端配对,从机和从机之间不能配对 模块默认波特率为9600,默认配对密码为1234,默认名称为linvor 带透明热缩管保护 重量:3.5g
接线方式
Arduino <------> HC-06蓝牙模块 5V <------> VCC GND <------> GND RX←0 <------> TXD TX→1 <------> RXD
手机App蓝牙连接控制LED灯基础小案例
手机App点击open按钮时,绿色 LED 灯亮起,点击close按钮时,绿色 LED 灯熄灭。
(LED模块)
接线方式
Arduino <------> HC-06蓝牙模块 5V <------> VCC GND <------> GND RX←0 <------> TXD TX→1 <------> RXD
Arduino <------> LED模块 3.3V <------> VCC GND <------> GND D6 <------> IN
App 制作连接HC-06 蓝牙模块,按钮控制点亮和熄灭LED灯
1、App 组件设计:
在组件布局中使用三个水平布局、一个列表选择框、一个标签、两个按钮和一个蓝牙客户端模块,将列表选择框和标签的属性文本分别设置为连接蓝牙设备和尚未连接,将两个按钮的属性文本分别设置为open和close,将标签重命名为状态显示,将两个按钮重命名为open和close。
(App组件设计)
2、App 逻辑设计:
(App逻辑设计)
3、App中打包APK并显示二维码下载,下载成功后打开App:
(打开手机App界面)
4、点击连接蓝牙设备,选择相对应的蓝牙进行连接:
(手机App蓝牙连接选择界面)
5、蓝牙连接成功后显示连接成功:
(手机App蓝牙连接成功界面)
备注:APP制作完成后下载,进入APP连接蓝牙设备前,手机和HC-06蓝牙模块需先进行连接
Mixly 图形化编程程序
LED 高电平为亮,低电平为灭,当接收到数据open时,绿色 LED 灯亮起,当接收到数据close时,绿色 LED 灯熄灭。
(图形化程序)
程序实现代码
- String item;
- void setup(){
- item = "";
- Serial.begin(9600);
- pinMode(6, OUTPUT);
- }
- void loop(){
- if (Serial.available() > 0) {
- item = Serial.readString();
- if (item == "open") {
- digitalWrite(6,HIGH);
- } else if (item == "close") {
- digitalWrite(6,LOW);
- }
- }
- }
复制代码 |