- Arduino互动设计
- 王克伟 马丽丽等
- 824字
- 2020-08-27 19:53:31
挑战自我:使用面包板制作跑马灯
跑马灯,顾名思义为多个LED灯依次亮起,然后同时熄灭,达到“跑马”的效果。现在部分车辆的转向灯,也采用跑马灯的效果,实现强调“转向”的作用。下面尝试使用面包板连接多个LED灯,实现跑马灯效果。
积木新知
计次循环
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0023_0002.jpg?sign=1739500879-aKkjE2bngZORt53baAP3LSlQRZvk6cLq-0-af48c1926e97b6a8fb97ca34e8ff80ec)
“计次循环”积木用于实现执行一定次数的循环结构。
该积木中有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=1739500879-VEpVwaSewSrFbexrdaVan8mzdtAamgex-0-2818c53f55d276614dbe039c4cbdbab2)
范例
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0024_0002.jpg?sign=1739500879-DWU3rNlfVFpQ1vnQMJ0uxS6Hj2EvPxI2-0-e68b546c6140b7a7c91ea92fa4277f0a)
范例结果
实验箱上的LED灯,每隔1秒闪烁一次;循环10次后,等待5秒再重新开始下一轮循环闪烁。
积木新知
变量i
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0024_0003.jpg?sign=1739500879-8i7DfnR1WwyUg8QoaKBfMrzkOTeoF7Yi-0-58aa7b2beb57f2727bd76e1cada75232)
“变量i”积木位置如下。
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0025_0001.jpg?sign=1739500879-vklaxiVmYIi3VAGSg4DFtZLOgK03Zvqt-0-a811c810c47b180c8162948e0e51ad80)
要显示变量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=1739500879-mUtlq321TX67FBCxjBpYrKpOmlTHUja4-0-e2dcb85396d1363f893fe5fb0463fd9f)
编程思路
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0026_0001.jpg?sign=1739500879-Yx7kZcH1h9XzdNvHYixZuEhPYkR8h2qP-0-804fe0f8458386e8f495ff9a692c44dc)
面包板上的跑马灯程序流程图
根据流程图用顺序结构的方式分别设置9号、10号、11号、12号管脚输出高电平300毫秒,实现依次亮起;接着同时输出低电平300毫秒,实现同时关闭的效果。
范例程序
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0026_0002.jpg?sign=1739500879-vVXmzIHOn9H55TjoDyFfpBv06M3x0SSb-0-02b31dded2f819f7a9e39e480ff075d1)
面包板上的跑马灯程序
通过观察程序可知,这4个LED灯亮起的积木是重复的,只是管脚不同,因而可以用新的结构——循环结构。
知识加油站
循环结构
循环结构是重复执行一个或几个积木的程序结构,它可以大幅降低编程的工作量。由于在设计Mixly软件时将无限循环设计成默认状态,所以在控制模块里找不到无限循环。下面用计次循环编写跑马灯程序。
编程思路
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0027_0001.jpg?sign=1739500879-TdDSdwuy176MkcXCTTAIVZppibBfvZTs-0-9a636d30b3a64641b655f531c3abe77f)
计次循环结构的跑马灯程序流程图
范例程序
![](https://epubservercos.yuewen.com/B0C18C/15937387804512006/epubprivate/OEBPS/Images/figure_0027_0002.jpg?sign=1739500879-NM96h7q38hB0ZrNtSNDvYJAZ3Rr0uWY3-0-14a6528135382abe07ab2cb774e4ebf3)
计次循环结构的跑马灯程序