呼吸灯是指模仿动物一呼一吸使灯光由亮到暗逐渐变化,给人以安静沉稳的感觉。电子产品中经常会使用不同色彩的呼吸灯,起到很好的视觉提醒效果。
这个项目中我们将带领大家用掌控板制作一个颜色和亮度一起变化的多彩呼吸灯!
项目示例
通过三个小任务,配合变量的使用和条件循环、函数的学习,完成多彩呼吸灯的制作。
■ 任务一:呼吸灯
■ 任务二:变色灯
■ 任务三:多彩呼吸灯
任务一:呼吸灯
以全部小灯显示红色并缓慢亮灭为例,来学习如何制作呼吸灯。
输入以下程序,并将程序上传。
运行结果:红灯会逐渐亮起然后暗下,并且持续进行下去。
任务二:变色灯
如何让呼吸灯显示更多的颜色呢?尝试制作能显示3种颜色的呼吸灯,变化的顺序是:红--渐变--绿--渐变--蓝。
参考程序:
运行结果:掌控板上的LED灯以红、绿、蓝的颜色顺序做呼吸状变化。
上面的程序按照功能可以分为3段,如程序图中黑色方框标注,每个方框中程序段的作用是显示一种颜色的呼吸灯。为了避免主程序过长,不容易理解,我们可以使用函数来划分程序中不同指令块的作用,简化主程序。
参考程序如下:
* 关于函数的解释参见本项目“知识拓展”。
任务三:多彩呼吸灯
让呼吸灯在一呼一吸之间显示更为丰富的色彩,这就是多彩呼吸灯。参考程序如下。在比较复杂的程序旁边加入了流程图便于理解程序。
将三个条件语句嵌套,通过变量控制指令
中红、绿、蓝的数值一个一个的变化,实现色彩均匀变化。
知识拓展
软件知识
1、条件循环
通过用流程图分析任务一中红灯亮起的程序来认识一下条件循环指令
的组成和作用。
由上面这个例子可以看出,条件循环指令由循环体和循环的终止条件两部分组成。它的作用为每次执行循环体前,首先判断是否满足循环的终止条件,不满足则自上而下执行循环中的程序,满足则退出循环。
2、函数
Mind+中的函数一般指具有特定功能的指令组合。比如我们可以将“扫地、拖地、抹桌子”统称为“打扫卫生”,这里“打扫卫生”可以理解为函数,而“扫地、拖地、抹桌子”可以理解为函数实现的功能。
在一个程序中,如果其中有些内容完全相同或相似,为了简化程序,可以把这些重复的程序段单独列出,定义为函数。主程序在执行过程中如果需要这部分功能,可以直接使用该函数指令,函数中的程序执行完后又返回到主程序,继续执行后面的程序段。
3、条件循环嵌套
条件循环也可以嵌套使用。我们从一个小兔偷吃萝卜的故事来感受一下循环嵌套的意思。
一座房子里放着很多筐萝卜,每个筐里有10个,当主人离开房子,小兔就可以进房子里偷吃萝卜,每次吃之前都要跳进装萝卜的筐里,吃完后跳出来看看主人有没有回来,没回来就继续吃下一筐。
这就是一个简单的循环嵌套。通过下面的流程图可以看出来外层循环的判断条件是“主人是否回来?”,内层循环的判断条件是“萝卜是否吃完?”。
4、指令汇总
项目小结
■ 掌握利用变量制作呼吸灯的方法
■ 学习如何让LED灯变换显示丰富的色彩
■ 了解条件循环和函数
■ 了解条件循环的嵌套
挑战一下
1、利用掌控板做一个厨房烹饪提醒器。在屏幕中央显示烹饪时间,初始时间可为10秒,通过按钮A、B增、减时间,当A和B同时按下表示开始计时。达到烹饪时间前,亮绿色呼吸灯;达到烹饪时间后,亮红色呼吸灯。
2、尝试程序中只使用一次“屏幕显示文字”指令,在屏幕上显示32个“福”字。效果如下。
提示:循环嵌套,两个变量控制文字的x、y坐标。实在做不出来可以参考下面的程序。
参考程序。
文本参考:
官方教程https://mc.dfrobot.com.cn/misc.php?mod=tag&id=3395
mindplus官方https://mc.dfrobot.com.cn/misc.php?mod=tag&id=3309
掌控板https://mc.dfrobot.com.cn/misc.php?mod=tag&id=3184