![Arduino互动设计](https://wfqqreader-1252317822.image.myqcloud.com/cover/204/27741204/b_27741204.jpg)
挑战自我:使用面包板制作跑马灯
跑马灯,顾名思义为多个LED灯依次亮起,然后同时熄灭,达到“跑马”的效果。现在部分车辆的转向灯,也采用跑马灯的效果,实现强调“转向”的作用。下面尝试使用面包板连接多个LED灯,实现跑马灯效果。
积木新知
计次循环
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0023_0002.jpg?sign=1738952929-ZYeUEw37t2YKRUGBlMruIztmztG1s4xb-0-ab54534010e5833e151e22104d0ba18e)
“计次循环”积木用于实现执行一定次数的循环结构。
该积木中有4个参数:参数1是变量名,单击或选定“i”可输入变量名;参数2是变量i的起始值;参数3是变量i的终点值;参数4是变量i的步长,步长是相邻两次循环之间的跨度。变量名可自定义,支持中文命名;起始值、终点值和步长都可以自行设定。变量i在计次循环里是一种特殊存在方式,此处了解即可,变量概念在第4课里详述。该积木位于“控制”模块中,具体位置如下。
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0024_0001.jpg?sign=1738952929-ooTsCoZ1zOLUOuT0gOiZbsXtpuX0LdXt-0-832e735b6dd4c5031f2d22f449ebb211)
范例
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0024_0002.jpg?sign=1738952929-FJYDZWPYtM0ucF2capMZJFfxSR0w2pYS-0-c8248a64a44ea405f220fc5e2217f4d7)
范例结果
实验箱上的LED灯,每隔1秒闪烁一次;循环10次后,等待5秒再重新开始下一轮循环闪烁。
积木新知
变量i
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0024_0003.jpg?sign=1738952929-e72iaAtkWOSVBw6lh07HiRqd6zxbXMyB-0-ca71e7613c7756b798706d73bc312750)
“变量i”积木位置如下。
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0025_0001.jpg?sign=1738952929-FJC5pfv1SRM77F0wk9w5SetWEYfmf4Uh-0-50c5fd332c6e4e6724bcee6ee0047554)
要显示变量i,需要将计次循环积木拖到编程区,才能在变量积木模块中显示变量i积木。如果变量i被重命名,则变量积木分类中显示重命名的变量积木。
硬件连接
将实验箱上的开关拨至“OFF”位置,将4个LED灯(绿、黄、红、蓝各1个)和4个1kΩ电阻按下图连接;并使用若干公对公杜邦线,将其中4根线的一端插接在面包板上,另一端分别连接至主板的9~12号管脚。
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0025_0003.jpg?sign=1738952929-T5LlyUxHjeHETLGXqgE5tjnFju4FIpI6-0-2f41e2c5eebde88dc1eea996e75a73a7)
编程思路
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0026_0001.jpg?sign=1738952929-nFM2wLyE6OOW9zOfDgFSgaHqyTiqdcWy-0-3ca723a50b7851b390c31768dc713c90)
面包板上的跑马灯程序流程图
根据流程图用顺序结构的方式分别设置9号、10号、11号、12号管脚输出高电平300毫秒,实现依次亮起;接着同时输出低电平300毫秒,实现同时关闭的效果。
范例程序
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0026_0002.jpg?sign=1738952929-XPNRWPq8PE17axFKDXBZXlLJpTeSTaCG-0-fa6d9baaab53a612dcb0287b48a66a86)
面包板上的跑马灯程序
通过观察程序可知,这4个LED灯亮起的积木是重复的,只是管脚不同,因而可以用新的结构——循环结构。
知识加油站
循环结构
循环结构是重复执行一个或几个积木的程序结构,它可以大幅降低编程的工作量。由于在设计Mixly软件时将无限循环设计成默认状态,所以在控制模块里找不到无限循环。下面用计次循环编写跑马灯程序。
编程思路
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0027_0001.jpg?sign=1738952929-IqZ1mAJOsOnzjwRcQGA8xhHO5vy9waw3-0-937d0c1ab209927617cfbd02b7f88ce8)
计次循环结构的跑马灯程序流程图
范例程序
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0027_0002.jpg?sign=1738952929-WCuZEliWOTsbv5biozcXEt2fT80yWQ9C-0-b42a7f72e82db8ad466f1a29847a032f)
计次循环结构的跑马灯程序