![App Inventor创意趣味编程进阶](https://wfqqreader-1252317822.image.myqcloud.com/cover/643/31486643/b_31486643.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
Arduino流水灯装置的搭建与程序实现
本项目的流水灯装置功能是通过接收蓝牙的信息,控制8位流水灯的开与关。App的主要功能是可以选择重力控制或按钮控制。重力控制可以根据安卓终端重力传感器的值,发送不同的指令到流水灯装置控制相应流水灯的开与关,同时App上能同步显示相应流水灯的开与关。屏幕上有8个按钮,通过不同的按钮控制不同的流水灯的开与关。App与流水灯装置运行状态如图2-7所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_1.jpg?sign=1739215037-NMbUHHi1SaQraDG7W1j4FfiPbntWPLRQ-0-e2f651e45b64a23243b23ec5480eff08)
图2-7 App与流水灯装置运行状态
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_2.jpg?sign=1739215037-7idcjGmKduuHiaLEX5WY4I3DX6I25Ke6-0-9f9b699a66972a3db686b33dc45cb5ce)
App与流水灯装置运行状态视频二维码
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_3.jpg?sign=1739215037-p174fP3O86vmDq23SGRgXfAUsixtfOtI-0-226f57c9136e76f232eb23e5cc602319)
aia下载
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_4.jpg?sign=1739215037-LrWQ9FPVXc1wB2Ckdw43xPMWd5mF2uqS-0-3c92f0870fb7ffbd36e552e06b5e5e53)
apk下载
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_5.jpg?sign=1739215037-gcYvlmXaTOcNd0Lc6EDZORKxNNB2i1ey-0-9bea6c193860935d2503330b4db88899)
Mixly代码下载
(一)电路连接原理图
电路连接原理图如图2-8所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_32_1.jpg?sign=1739215037-zF7wES3z6aLDmIgZvPNPpwO8mx80OOwi-0-b82f8fcc126769afb1e56d5a316d0bcc)
图2-8 电路连接原理图
(二)电路连接实物图
电路连接实物图如图2-9所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_32_2.jpg?sign=1739215037-JXhLxqXOEEQFSpZA5AXT5H1JxDjYVdQg-0-594707bda328845def2fc67237a70ea7)
图2-9 电路连接实物图
(三)程序编写
Arduino Nano流水灯装置的程序可以在Arduino IDE和Mixly下编写。下面将分别介绍它们的实验功能。
图形化编写(Mixly)
a.初始化。在初始化中,声明变量item作为存储接收到的蓝牙指令。蓝牙模块HC06使用SoftwareSerial,需初始化它们的RX与TX管脚,如图2-10所示。流水灯使用的是共阳极,管脚默认输出是低电平,然后使用循环将8个LED的管脚设为高电平,达到关闭的效果。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_33_1.jpg?sign=1739215037-8aRSHivz2wV1BCQdSYhwzmJF1h1q1VeE-0-e42b329c3f533d42d4db8b5cd631d46a)
图2-10 流水灯装置程序初始化
b.判断蓝牙是否接收到信息,如图2-11所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_33_2.jpg?sign=1739215037-RtXqfIKywOq6sPWqQBzIGPkm3SFv0SpP-0-82951558ecb918ef8c702b1569da8141)
图2-11 流水灯装置程序蓝牙信息接收部分
c.根据蓝牙接收的指令控制相应的LED开关,如图2-12所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_33_3.jpg?sign=1739215037-zl69dvW5JRY7NuerUUtWTpDdfBShf3Ab-0-68bd88315a677c81008c3c9b7ede15e4)
图2-12 流水灯装置程序LED控制部分
d.执行完蓝牙指令,将蓝牙指令变量赋值为0,如图2-13所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_34_1.jpg?sign=1739215037-BeFvzq4DAcUj1v3W2TEGOW6O7gO7IgHT-0-73eaad99220e169cb018ca49b4da8f68)
图2-13 流水灯装置程序蓝牙变量赋值为0