
挑战自我:使用面包板制作跑马灯
跑马灯,顾名思义为多个LED灯依次亮起,然后同时熄灭,达到“跑马”的效果。现在部分车辆的转向灯,也采用跑马灯的效果,实现强调“转向”的作用。下面尝试使用面包板连接多个LED灯,实现跑马灯效果。
积木新知
计次循环

“计次循环”积木用于实现执行一定次数的循环结构。
该积木中有4个参数:参数1是变量名,单击或选定“i”可输入变量名;参数2是变量i的起始值;参数3是变量i的终点值;参数4是变量i的步长,步长是相邻两次循环之间的跨度。变量名可自定义,支持中文命名;起始值、终点值和步长都可以自行设定。变量i在计次循环里是一种特殊存在方式,此处了解即可,变量概念在第4课里详述。该积木位于“控制”模块中,具体位置如下。

范例

范例结果
实验箱上的LED灯,每隔1秒闪烁一次;循环10次后,等待5秒再重新开始下一轮循环闪烁。
积木新知
变量i

“变量i”积木位置如下。

要显示变量i,需要将计次循环积木拖到编程区,才能在变量积木模块中显示变量i积木。如果变量i被重命名,则变量积木分类中显示重命名的变量积木。
硬件连接
将实验箱上的开关拨至“OFF”位置,将4个LED灯(绿、黄、红、蓝各1个)和4个1kΩ电阻按下图连接;并使用若干公对公杜邦线,将其中4根线的一端插接在面包板上,另一端分别连接至主板的9~12号管脚。

编程思路

面包板上的跑马灯程序流程图
根据流程图用顺序结构的方式分别设置9号、10号、11号、12号管脚输出高电平300毫秒,实现依次亮起;接着同时输出低电平300毫秒,实现同时关闭的效果。
范例程序

面包板上的跑马灯程序
通过观察程序可知,这4个LED灯亮起的积木是重复的,只是管脚不同,因而可以用新的结构——循环结构。
知识加油站
循环结构
循环结构是重复执行一个或几个积木的程序结构,它可以大幅降低编程的工作量。由于在设计Mixly软件时将无限循环设计成默认状态,所以在控制模块里找不到无限循环。下面用计次循环编写跑马灯程序。
编程思路

计次循环结构的跑马灯程序流程图
范例程序

计次循环结构的跑马灯程序