3课 在Scratch中使用LED——防火小卫士

>>>点击此处打开范例

森林之王——老虎因有事要外出,它请聪明能干的小猫暂时看守几天森林。天气渐热,正值森林火灾高发时期。为了更好地做好火灾防护工作,本课我们将通过Scratch设计一个程序,用传感器板上的LED做火灾预警,帮助小猫保卫森林。

在本课的范例作品中,可以通过拖动“烟雾”变量滑杆,模拟森林里的烟雾浓度作为火灾预警依据如果没有烟雾,绿色LED亮,表示森林安全;如果有烟雾但还在安全范围内,黄色LED亮,提示森林存在安全隐患;如果烟雾超过一定范围,即将引发火灾,红色LED亮,提示森林存在危险。

要完成本课的创意构思,需要了解以下的新知识、使用以下的新指令:

LED

(点击或者扫描二维码播放视频)

LED的中文名称叫做“发光二极管”。它可以把电能转化成光能,在电子电路或者仪器设备中经常作为指示灯使用,也可以用于显示文字或者数字。

好好搭搭传感器板的正下方有红色、黄色、绿三颗LED,通过Scratch可以编写程序控制它们的状态。

设置绿色LED的亮灭,取值范围为(01)。当参数值为“0”时,绿色LED灭;参数值为“1”时,绿色LED亮。

设置黄色LED的亮灭,取值范围为(01)。当参数值为“0”时,黄色LED灭;参数值为“1”时,黄色LED亮。

设置红色LED的亮度,取值范围为(0-100)。与绿、黄LED,红色LED除了参数值为“0”不亮以外,还可以设置亮度;参数值越大,亮度越,参数值为“100时,LED最亮。

连接传感器板,分别使用以下三个指令,尝试设置不同的参数,通过观察,完成下列表格,思考不同的参数与LED灯状态之间的关系。

(点击或者扫描二维码播放视频)


序号

指令

LED状态

指令参数

1

( )

( )

2

( )

1

( )

0

3

最亮

( )

最暗

( )

( )

我发现:________________________________________________________________


第一步:设置舞台背景与初始化

(点击或者扫描二维码播放视频)

  1. 打开网络浏览器,登录“好好搭搭”网站,进入“传感器板编程设计页”,传感器板和计算机连接起来

  2. 单击“舞台列表区”中的“ ”按钮,在打开的“背景库”对话框中,将森林缩略图(forest)作为背景图片添加到舞台上。

  3. 由于本课的范例作品只使用了传感器板上的LED,它在舞台上没有传感器数值显示。为了作品的美观,可以将默认显示的传感器数值都隐藏起来;同时删除默认显示的传感器板角色。

  4. 由于LED的状态是根据森林里的烟雾大小来确定的,因此需要新建一个变量“烟雾”,用于表示森林里的烟雾大小同时右键单击舞台上的这个变量,在打开的菜单中选择“滑杆”选项,这样可以通过滑杆随时调整变量的值,模拟森林中烟雾的大小。

  5. 单击舞台背景缩略图,在“脚本区”添加如下右图所示的初始化脚本代码:

舞台背景

变量

化脚本


第二步:用绿色LED灯表示没有烟雾

(点击或者扫描二维码播放视频)

在本课的范例程序中,当“烟雾”变量值=0时,绿色LED亮,表示森林安全。要实现这个功能,可以单击舞台背景缩略图,在“脚本区”编写控制绿色LED的代码。

首先将“当绿旗被点击”和“重复执行”指令组合在一起,然后使用“判断”指令进行判断:如果“烟雾”=0时,那么绿色LED“亮”,其他LED灭”。


第三步:用黄色LED灯表示有烟雾在安全范围内

(点击或者扫描二维码播放视频)

黄色LED与绿色LED的脚本代码基本相同,都是通过设置“亮”、“灭”来表示当前森林的状态。

所不同的是“判断”指令的条件。黄色LED亮的条件应该是“烟雾变量数值”>“0”并且“烟雾变量数值”<“30”这两个条件同时满足。因此要用到“数字和逻辑运算”类别中的 指令将这两个条件组合在一起。具体的脚本代码如下图所示:

黄色LED除了“亮”、“灭”这两种状态,还可以让它“闪烁”吗?。

(点击或者扫描二维码播放视频)


第四步:用红色LED表示烟雾超出安全范围

(点击或者扫描二维码播放视频)

当“烟雾”=“30”或者“烟雾”>“30”时,红色LED亮起,表示森林存在危险。由于这两个条件只要满足其中一个就应该让红LED亮,因此可以使用“数字和逻辑运算”类别中的 指令将这两个条件组合在一起。

好好搭搭传感器板上的红色LED与其它LED不一样,它可以设置亮度范围。因此可以有3效果:常亮、闪烁和呼吸灯。

其中常亮和闪烁效果的脚本代码与绿LED、黄LED类似,如下图所示的就是满足条件后红色LED闪烁的效果


除了让红色LED常亮和闪烁,还可以让它的亮度在最亮与最暗之间逐渐变化,就像会“呼吸”一样。

(点击或者扫描二维码播放视频)

要达到这样的效果,应该先新建“亮度变量用于存贮红LED的亮度值,同时设置这个变量的初始值为“0”;然后使用“重复执行”指令,让变量从“0”开始依次增加,直到最大值100,由于“设置红灯亮度”指令的参数值就是“亮度”变量的值,所以红LED逐渐亮起;再使用第二个“重复执行”指令,让变量从“100开始依次减少,直到最小值10这时红LED会逐渐熄灭,从而实现“呼吸灯”的效果。具体脚本如下图所示:


进一步完善作品,为作品添加声音效果、图片特效。比如可以根据不同的“烟雾”浓度发出不同的声音、显示不同的舞台背景图片特效。



请结合上节课学习的内容,使用传感器板上的按键控制LED

我制作的这个作品在“好好搭搭”网站上共享的名称是_______________________;综合网友给我提的建议,我认为还可以在以下方面进行改进:______________________

_______________________________________________________________________

_______________________________________________________________________