![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=1738890440-AFynYaPRCIHY7klXOtKKn0SRuM7OXJVm-0-319dd4b750b486f1343751a6bcf86254)
图2-7 App与流水灯装置运行状态
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_2.jpg?sign=1738890440-IMi5hUo1xYD9gWPMefZ6G9VqGtB9rlhY-0-f2048fabda59165b84b65198e79e2692)
App与流水灯装置运行状态视频二维码
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_3.jpg?sign=1738890440-cONNXyIIWx4HmqQLkXvmKfPpqkrore9L-0-d2dece00854500829d8c2c1500961807)
aia下载
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_4.jpg?sign=1738890440-cjTMTBrZg2BMgwbzI2sorKhCh0cvpeW3-0-43ae5df558397d26eca8882f0ebbb77e)
apk下载
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_5.jpg?sign=1738890440-1HrWsdaghWMbOrxQ7WnPIqiKAm3gWHZs-0-43d5d6ed6db6cbd64ac8026054d6e1b0)
Mixly代码下载
(一)电路连接原理图
电路连接原理图如图2-8所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_32_1.jpg?sign=1738890440-kZnPy1UIkeYdcJSdiqQlXg3aXOsbzHto-0-243ef97edceaf806d48f375e2ab30f96)
图2-8 电路连接原理图
(二)电路连接实物图
电路连接实物图如图2-9所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_32_2.jpg?sign=1738890440-LSIWA2UFWYsLbeim4uf9KhnhhYfW6mWG-0-739499d1ec52c4f31c3850c524a16e59)
图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=1738890440-WTrTIFcK5PlU30dSmN34dlktN72f1ivw-0-fb9d9c623f2ebb1e99233938ad89695b)
图2-10 流水灯装置程序初始化
b.判断蓝牙是否接收到信息,如图2-11所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_33_2.jpg?sign=1738890440-K1kih6TdOeb8dcpSXr5EIQkDrMx7x6GB-0-c4d1537afbc19c6142673525eef3e87c)
图2-11 流水灯装置程序蓝牙信息接收部分
c.根据蓝牙接收的指令控制相应的LED开关,如图2-12所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_33_3.jpg?sign=1738890440-W4se55HabeIcGnEPhm1a641N6FmOxMOt-0-8b57f970f77183054bf27b0c8a391ac0)
图2-12 流水灯装置程序LED控制部分
d.执行完蓝牙指令,将蓝牙指令变量赋值为0,如图2-13所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_34_1.jpg?sign=1738890440-40NZZKEo7ipoQCsJkI4lngb4SJimtRIp-0-d13f43fcbdcea5b8117ffe7cd4a7d637)
图2-13 流水灯装置程序蓝牙变量赋值为0