![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=1738843384-W7uwltM3ditbNR6zp6soXA4GeCYTPZLa-0-3dbb7eefaeb6a71fd1655709ece2672e)
图2-7 App与流水灯装置运行状态
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_2.jpg?sign=1738843384-XzH8iQZ9sfv0hKZ2N6yMH6gpcU3fHzdv-0-fa38971a61c746e93f6561f6e46a03db)
App与流水灯装置运行状态视频二维码
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_3.jpg?sign=1738843384-RGDOPubAooQEWOFocCxywcbic8gldRMg-0-17ae3831999d77121396ff06f25b224d)
aia下载
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_4.jpg?sign=1738843384-4cuH0EzkkPDXDekijfYKPQlqTHJY7mqz-0-7c776609057e922e755212c488b117ad)
apk下载
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_31_5.jpg?sign=1738843384-C3uRglmmll0czFyV2TD3Vd95sbxDg3V0-0-a4542b6d846f882a43cc2f75dc220e3c)
Mixly代码下载
(一)电路连接原理图
电路连接原理图如图2-8所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_32_1.jpg?sign=1738843384-slOmsgrlhTNMVausYdJV2EFqpPKTei4E-0-9178c5358a0e6aaecaf203cb83b52c78)
图2-8 电路连接原理图
(二)电路连接实物图
电路连接实物图如图2-9所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_32_2.jpg?sign=1738843384-JgBz6c7g3KF67urz18oinx707YVGvckE-0-51d774a6d540a4bdf549dc0915b885f5)
图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=1738843384-45AEZOkOMCtcT6tibp8khJji4j1XeeFm-0-89bd2bc65545384aa9040670e36392fc)
图2-10 流水灯装置程序初始化
b.判断蓝牙是否接收到信息,如图2-11所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_33_2.jpg?sign=1738843384-uU9oEfXp2mtRxxn6q3l4Dcdd933c42Pa-0-4c229bef43353f81ebf51c36fbe5e69a)
图2-11 流水灯装置程序蓝牙信息接收部分
c.根据蓝牙接收的指令控制相应的LED开关,如图2-12所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_33_3.jpg?sign=1738843384-KytvGeFx9h8JhrAWT7XXDk4qwucrdzIG-0-234eaf9bd28da615e04af4edfc8fe1d5)
图2-12 流水灯装置程序LED控制部分
d.执行完蓝牙指令,将蓝牙指令变量赋值为0,如图2-13所示。
![](https://epubservercos.yuewen.com/2835BE/17042066704482606/epubprivate/OEBPS/Images/38545_34_1.jpg?sign=1738843384-DPQCkEpH53SRkay4abfrACzkwo3UyZPL-0-751fdfef92ef11cfe5dbeae232a20a27)
图2-13 流水灯装置程序蓝牙变量赋值为0