本帖最后由 lxf 于 2020-8-15 10:27 编辑
目标
1、HC-06蓝牙模块的连接使用 2、制作手机APP,通过HC-06蓝牙模块控制点亮和新LED灯
实验材料
Arduino UNO开发板 HC-06蓝牙模块 LED发光模块 配套USB数据线 配套杜邦线若干 Arduino IDE软件 APP Inventor软件 手机/平板
内容
手机App蓝牙连接控制点亮LED灯:手机App点击open按钮时,绿色 LED 灯亮起,点击close按钮时,绿色 LED 灯熄灭。
过程一、App 制作:手机连接HC-06 蓝牙模块,按钮控制点亮和熄灭LED灯
1、App 组件设计:
登录App inventor界面之后,新建一个项目,在组件布局中使用三个水平布局、一个列表选择框、一个标签、两个按钮和一个蓝牙客户端模块,将列表选择框和标签的属性文本分别设置为连接蓝牙设备和尚未连接,将两个按钮的属性文本分别设置为open和close,将标签重命名为状态显示,将两个按钮重命名为open和close。
(App组件设计)
2、App 逻辑设计:
(App逻辑设计)
3、App中打包APK并显示二维码下载,下载成功后打开App:
(打开手机App界面)
4、点击连接蓝牙设备,选择相对应的蓝牙进行连接:
(手机App蓝牙连接选择界面)
5、蓝牙连接成功后显示连接成功:
(手机App蓝牙连接成功界面)
备注:APP制作完成后下载,进入APP连接蓝牙设备前,手机和HC-06蓝牙模块需先进行连接
过程二:硬件连接及Arduino IDE程序编写
当Arduino uno接收到数据“open”时,LED 灯亮起,当接收到数据close时,LED 灯熄灭。
接线图
接线方式
Arduino UNO <------> HC-06蓝牙模块 5V <------> VCC GND <------> GND RX←0 <------> TXD TX→1 <------> RXD Arduino UNO <------> LED发光模块 5V <------> VCC GND <------> GND 6 <------> IN
程序实现代码
- String item; //声明一个字符串变量item
- void setup(){
- item = ""; //变量item赋值为空
- Serial.begin(9600); //设置串口波特率为9600
- pinMode(6, OUTPUT); //定义6号引脚为输出
- }
- void loop(){
- if (Serial.available() > 0) { //如果串口收到字符数大于零,即串口接收到数据
- item = Serial.readString(); //那么将获取串口接收到的数据赋值给变量item
- if (item == "open") { //判断如果串口接收到的数据为“open”
- digitalWrite(6,HIGH); //那么将6号引脚设置为高电平,即LED被点亮
- } else if (item == "close") { //如果串口接收到的数据为“close”
- digitalWrite(6,LOW); //那么将6号引脚设置为低电平,即LED熄灭
- }
- }
- }
复制代码
备注:程序上传时把 HC-06蓝牙模块的TXD和RXD连接杜邦线先从Arduino UNO 的RX←0 和TX→1处拔掉
Serial.available()
描述:判断串口缓冲区的状态,返回从串口缓冲区读取的字节数。 原型:Serial.available() 参数:无 返回值:可读取的字节数
描述:读取串口数据,一次读一个字符,读完后删除已读数据。 原型:Serial.read() 参数:无 返回值:返回串口缓存中第一个可读字节,当没有可读数据时返回-1,整数类型。 |