![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=1739281690-vRWiYwAmmttuZfzM3Vg16DymE7IIV50p-0-8a1f579fbd6099774977608e9c7b7a93)
图2-7 App与流水灯装置运行状态
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_2.jpg?sign=1739281690-umQzyDcvHuonH165CAr10MBurJor9mkK-0-74360c5850d731798d5e1bc4d6b724d5)
App与流水灯装置运行状态视频二维码
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_3.jpg?sign=1739281690-HupObtMwhUzuYNOPqHtB1uFQ2JfqdLCz-0-e713bc531842a175ae360d7364495c8e)
aia下载
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_4.jpg?sign=1739281690-NUXT4ffOFQzygw17gWCoMQ1B5rXGgr9B-0-0886096f0b27b50a52d23f84a4caf338)
apk下载
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_5.jpg?sign=1739281690-vbGwALmdZtPeyVEc0FgdstuWdfww1iOh-0-344e6195c6a2ee647fd8eae77cb2d7b8)
Mixly代码下载
(一)电路连接原理图
电路连接原理图如图2-8所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_32_1.jpg?sign=1739281690-Tz7AHObg9ES2AYZiUWifLjvB2s7Fvvmm-0-6f3dac019f18f083da59c66f1689b61d)
图2-8 电路连接原理图
(二)电路连接实物图
电路连接实物图如图2-9所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_32_2.jpg?sign=1739281690-KV9ieMZF7CjrOVBUQ1uXRK5kfEK9ctWw-0-6fe0195e6dedf8e75660509a51df5043)
图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=1739281690-3va2pCQxw1KVLVZoMAsJ8cemQcHHckcE-0-630a637d34056820b76031d34059e243)
图2-10 流水灯装置程序初始化
b.判断蓝牙是否接收到信息,如图2-11所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_33_2.jpg?sign=1739281690-CIE39DeLRBiQLRmdxLwa09hOE1E80Q9T-0-85d8a511b5aa19dc5d352ac6a069a753)
图2-11 流水灯装置程序蓝牙信息接收部分
c.根据蓝牙接收的指令控制相应的LED开关,如图2-12所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_33_3.jpg?sign=1739281690-O6sZtuBpbMBrRwx1z6O0nBGM7IWo5o4i-0-df80fd4ab0548d48cee53c9c4d62550b)
图2-12 流水灯装置程序LED控制部分
d.执行完蓝牙指令,将蓝牙指令变量赋值为0,如图2-13所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_34_1.jpg?sign=1739281690-V516LT1A5oa1TKsUdh4k21P2oXqHUrNT-0-be8dacc48c8e906097ca64c314fcdbed)
图2-13 流水灯装置程序蓝牙变量赋值为0