最新消息:

Scratch传感器板创意编程(二):防火小卫士

Scratch 少儿编程 5189浏览 0评论
Scratch传感器创意

友情提示:视频教程观看时请手动设置清晰度。



1

情景描述

森林之王——老虎因有事要出去,它请聪明能干的小猫暂时看守几天森林,天气渐热,正值森林火灾高发时期。

为了更好地做好火灾防护工作,本课我们将通过 Scratch 设计一个程序,用传感器板上的 LED 灯做火灾预警,帮助小猫保卫森林。

Scratch传感器板创意编程(二):防火小卫士

2

创意构想

在本课的范例作品中,我们可以通过监测森林里的烟雾浓度作为火灾预警依据。

 

如果没有烟雾,绿色 LED 灯亮,表示森林安全;

 

如果有烟雾但还在安全范围内,黄色 LED 灯亮,提示森林存在安全隐患;

 

如果烟雾超过一定范围,即将引发火灾,红色 LED 灯亮,提示森林存在危险。

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

LED灯

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

在特里斯传感器板上有 4 个 LED 灯,分别位于“POWER”“D3”“D4”“D5”位置。其中“POWER”灯是判断传感器板与计算机是否正常连接的指示灯,连接正常的状态下,“POWER”灯亮。

本课范例程序用到的是“D3”“D4”“D5”这三颗 LED 灯,这三颗灯的颜色分别是绿色、黄色、红色,通过 Scratch 程序设计可以改变它们的状态。

Scratch传感器板创意编程(二):防火小卫士

Scratch传感器板创意编程(二):防火小卫士

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

Scratch传感器板创意编程(二):防火小卫士

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

Scratch传感器板创意编程(二):防火小卫士

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

3

脚本设计

第一步:

设置舞台背景与初始化

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

Scratch传感器板创意编程(二):防火小卫士

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

Scratch传感器板创意编程(二):防火小卫士

3. 本课的范例作品只使用了传感器板上的 LED 灯,它没有传感器数值显示。因此为了作品的美观,可以将舞台上的所有传感器数值都隐藏起来。

Scratch传感器板创意编程(二):防火小卫士

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

Scratch传感器板创意编程(二):防火小卫士

Scratch传感器板创意编程(二):防火小卫士

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

Scratch传感器板创意编程(二):防火小卫士

第二步

用绿色 LED 灯表示没有烟雾

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

首先将“开始旗”和“重复执行”指令组合在一起,然后使用“判断”指令进行判断:如果“烟雾”变量值=“0”时,那么绿色 LED 灯为“亮”,其他灯为“灭”。程序如下:

Scratch传感器板创意编程(二):防火小卫士

第三步

 

用黄色 LED 灯表示

有烟雾且在安全范围内

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

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

Scratch传感器板创意编程(二):防火小卫士

第四步

用红色 LED 灯

表示烟雾超出安全范围

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

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

其中红灯常亮和闪烁效果的脚本代码与绿灯、黄灯类似,具体脚本如下图所示:

Scratch传感器板创意编程(二):防火小卫士

左图程序为满足条件后红灯常亮效果;

右图为满足条件后红灯闪烁效果

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

要达到这样的效果,应该先新建“亮度”变量用于存贮红灯的亮度值,同时设置这个变量的初始值为“0”;

然后使用“重复执行”指令,让变量从“0”开始依次增加,直到最大值“100”,由于“设置红灯亮度”指令的参数值就是“亮度”变量的值,所以红灯会逐渐亮起;

再使用第二个“重复执行”指令,让变量从“100”开始依次减少,直到最小值“0”,这时红灯会逐渐熄灭,从而实现“呼吸灯”的效果。具体脚本如下图所示:

Scratch传感器板创意编程(二):防火小卫士

现在单击绿旗运行程序,“烟雾”变量的值大于或者等于30时,红色LED慢慢亮起、又慢慢变暗,达到“呼吸”一般的效果

 

视频解说:

 

 

StarLab将持续更新关于Scratch传感器板的创意编程视频,Scratch 传感器板是扩展 Scratch 软件功能的一组硬件。通过传感器板能够感知真实环境的变化(比如声音的响度、光线的亮度),同时将数值传送到 Scratch 软件中。利用 Scratch传感器板可以创作出更为丰富多彩的互动作品。

您必须 登录 才能发表评论!