自从20世纪60年代研制出能够发出红色光的LED以来,经过几十年的发展,目前的LED已能发出红、橙、黄、绿、蓝等多种有色光。本课我们将使用3个单色LED模块,制作一个模拟交通红绿灯的创客作品。
要制作本课的范例作品,需要使用以下新的硬件模块:
WULink-NOVA套件中包含3个单色LED模块,可以分别发出红、黄、绿三种颜色的光线(如下图2-1所示)。
图2-1 红、黄、绿3个单色LED模块
LED的中文名称叫做“发光二极管”,它是一种可以把电能转化成光能的电子元件。经常在电路以及仪器中作为指示灯使用,也可以用于显示文字或者数字,随着技术的发展,目前也广泛用于日常生活照明。
要制作本课的范例作品,还需要使用以下新的指令:
使用这个指令可以设置指定数字口的输出值。指令默认端口是数字口“S0”、输出值为“高”。通过单击下拉列表,可以选择S0-S3这4个数字端口、A0-A3这4个模拟端口;输出值可以设置为“高”或者“低”,也就是高电平或者低电平。
要制作本课的范例作品,可以按以下步骤先连接硬件、连接网络,然后进入“好好搭搭”网站编写、调试、编译、下载程序。
首先将3根白色连接线分别插入3个LED模块的接口中;然后将红色LED模块插入S0端口、黄色LED模块插入S1端口、绿色LED模块插入S2端口;将电池插入电源接口(如下图2-2所示);
图2-2 “模拟交通红绿灯”范例作品硬件连接图
打开浏览器,登录“好好搭搭”网站;单击网站上方的“创作”按钮,在“无线编程”网页中选择“WULink-NOVA”模板,进入“WULink-NOVA”编程设计页”。
单击“基础功能”类别,找到“设置数字口输出”指令,将这个指令拖动三个到脚本区“初始化”指令中间,设置端口分别为“S0”、“S1”、“S2”,输出值分别为“1”、“0”、“1”。具体程序代码如下图2-3所示:
图2-3 “设置数字口输出指令测试”程序代码
| 将上图2-3所示程序编译后下载到主控板,运行后观察3个LED亮灭的情况,将结果记录在下面的表格上。 |
我发现:________________________________________________________________
在本课的范例作品程序中,需要先对3个LED模块的状态初始化,设置相应端口输出值为“高”,让LED处于“高电平”,也就是“灭”的状态。
然后设置红色LED模块所在的端口“S0”的输出值为“低”,将“控制”类别中的“延时”指令拖动到脚本区,再设置延时为“10000”毫秒即10秒,也就是红色LED亮10秒。最后再设置“S0”这个端口的输出值为“高”,让它处于“灭”的状态。具体程序代码如下图2-4所示:
图2-4 “控制红色LED亮灭”程序代码
| 红色LED熄灭以后,你还能再继续编写代码,让绿色LED也亮10秒以后熄灭吗? |
所谓的“闪烁”,其实就是设置LED快速的亮灭。
要让黄色LED闪烁(比如以0.2秒为间隔闪烁),同样先初始化3个LED模块状态;然后使用“控制”类别中的“重复执行”指令;每次重复都是先设置黄色LED输出值为“高”、等待时间为“200”毫秒即0.2秒,再设置黄色LED输出值为“低”、等待时间也是“200”毫秒即0.2秒,这样重复执行,黄色LED就会以0.2秒为间隔闪烁。具体程序代码如下图2-5所示:
图2-5 “控制黄色LED闪烁”程序代码
| 编写一个让2个LED交替闪烁的程序(比如红灯亮的时候黄灯灭、红灯灭的时候黄灯亮)。 |
| 请你观察学校或者家附近十字路口红绿灯的变换情况,然后编写一个程序完整的模拟这个路口红绿灯的亮灭。 |
请与另外三组同学合作,用四套器材模仿一个十字路口红绿灯的变换。
我打算这么做:_______________________________________________________
______________________________________________________________________。
做的时候需要注意:___________________________________________________。