Page Title

第九课 徽章板初级扩展应用---魔法灯光秀


2019-09-05 13:47:39

目标

1.了解RGB模块

2.学习RGB灯编程程序相关指令和随机数指令

3.根据所学指令编写魔法灯光案例

在之前红绿交通灯中我们使用了LED灯,这三个LED灯都只能发出单色光;生活中一般灯发出的光线大多数是白色的,比较单调。RGB LED可以发出各种人眼能感受的颜色,本课我们将使用RGB,制作一个随心所欲改变颜色的魔法灯光秀的案例。


实践与探究


步骤一:了解RGB模块


RGB是由红绿蓝三种颜色的发光二极管组成的、可以发出彩色光线的元件。RGB模块由4个RGB灯珠组成,每个灯珠边上都有编号,可以使用指令,根据编号控制这些灯珠。

RGB是一种颜色模式,通过设置不同的R(红)G(绿)B(蓝)颜色值,可以显示出人类视力所能感知的几乎所有颜色。



步骤二:硬件搭建


将模块与徽章板扩展板连接起来: RGB模块连接“D0”端口;接着把徽章板和扩展板连接起来,最后把徽章板关机与计算机连接,确定电脑资源管理器跳出“haohaodada”U盘,进入下载模式。

blob.png   blob.png



步骤三:程序编写与调试


1.指令学习

要制作本课的范例作品,还需要使用以下新的指令。

RGB模块相关指令都在“扩展”类别指令下的“显示器”类别中。

blob.png

使用这个指令用于告诉徽章板连接的RGB模块有几个RGB灯,放在默认指令“初始化”下面。参数1默认是4,端口默认为“D0”;通过单击下拉列表,可以选择D0、D1这2个数字端口、A0、A1这2个模拟端口。

blob.png

使用这个指令可以设置RGB灯发出光线的颜色。指令默认是第1个RGB灯接在“D0”端口,红色、绿色、蓝色值均为“0”,也就是“灭”的状态。通过单击下拉列表,可以选择D0、D1这2个数字端口、A0、A1这2个模拟端口;“红”、“绿”、“蓝”这三个参数可以直接输入数值,输入值范围为0~255。为避免亮度过高,伤害视力,请在RGB LED模块未做任何遮挡时,输入值不要超过30。运行这条指令不能直接点亮RGB,需配合“RGB显示”指令才行。

blob.png

与上面指令相似,但是这条指令是指点亮RGB模块上所有的RGB灯,运行这条指令不能直接点亮RGB,需配合“RGB显示”指令才行。

blob.png

使用这个指令可以让RGB模块按照之前设定的颜色进行显示。

随机数指令在“数学与逻辑”类别指令下。

blob.png

这条指令指在…到…间随机选一个整数,默认两个参数是1和100,可以进行修改。两个参数可以指定生成数字的范围。这条指令需要结合其他指令进行使用,不可单独使用。


2.点亮一盏显示指定颜色的RGB灯

彩虹颜色的RGB值如下:

blob.png

选择自己喜欢的颜色,点亮一盏RGB模块,程序编写如下:

7.png

试一试:修改参数,让RGB模块显示你喜欢的颜色。

想一想:怎么样依次点亮4盏RGB灯呢?


3.魔法灯光

制作一个魔法灯光的效果,让RGB模块自己随机出现不同的颜色。

要让RGB灯随机出现颜色,就需要使用随机数来实现,具体程序如下:

blob.png

想一想:怎样让RGB LED模块的4个灯珠发出不同颜色的光线?


4.会呼吸的灯

呼吸灯的效果就是让灯向人的呼吸一样从最暗逐渐变到最亮,然后再变到最暗,重复执行。编写呼吸灯的程序需要使用变量来控制,让RGB的参数值逐渐增加和减小来控制亮度,案例以红色呼吸灯来制作。

具体程序如下:

11.png

想一想:怎么做变色呼吸灯,红色呼吸完后变成绿色,绿色呼吸完后编程蓝色,程序怎么编写?


拓展与思考


你还能做出什么更有趣的魔法灯光?

我打算这么做:______________________________________________________

做的时候需要注意:__________________________________________________