Page Title

第四课 多彩台灯


2019-10-09 13:55:25


作品图片


blob.png


情景描述


在我们的生活中灯无处不在,家里的照明,走廊的应急灯,马路上的交通灯、校园门口的LED屏、广场射灯、景观灯,商场的柜台装饰灯,舞厅的彩灯、KTV里的炫彩灯等等

常见的电灯种类有白炽灯、荧光灯、LED灯等。灯的颜色也是五颜六色的,但一般台灯发出的光线大多数是白色的,比较单调。RGB LED可以发出各种人眼能感受的颜色,本课我们将使用RGB,制作一个随心所欲改变颜色的多彩台灯。


知识与概念


要学习本课的案例,需要了解以下的概念与原理:

1.RGB模块

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

blob.png


2.色光三原色

色光三原色(加法三原色)为:红、绿、蓝。光线会越加越亮,两两混合可以得到更亮的中间色:黄、紫、青。三种等量组合可以得到白色。红、绿、蓝三种色光无法被分解,故称“三原色光”

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

blob.png


3.布尔量

只有两个截然相反答案的情况在数学及电子技术中称为布尔量,它的答案称为布尔值。布尔值只有两个:true和false。如判断题,只有对或错;

在C语言中用整型定义布尔值:0表示false,非0表示true。

 


要制作本课的范例作品,还需要学习以下新的指令:

RGB模块相关的指令都在HaodaBit类别指令中。


1.“RGB初始化”指令

blob.png

使用这个指令用于告诉徽章板连接的RGB模块有几个RGB灯,放在默认指令“当开机”下面。参数1默认是strip,是一个变量名称,会自动生成变量;参数2为连接端口,默认为“P0”,通过单击下拉列表,可以选择P8、P12、P16这3个数字端口和P1、P2、P3这3个模拟端口;参数3是灯数,默认为24,可以进行修改,RGB模块上有4颗灯,修改为4。


2.“RGB显示颜色”指令

blob.png

使用这个指令可以让RGB模块按照设定的颜色进行显示。参数1为变量,要也RGB初始化指令配合一致进行使用;参数2为颜色,通过下拉列表可以选择10种颜色。


3.“RGB参数值”指令

blob.png

使用这个指令可以设置RGB灯发出光线的颜色。指令默认红色、绿色、蓝色值均为“255”,也就是最亮为白光的状态。 “红”、“绿”、“蓝”这三个参数可以直接输入数值,输入值范围为0~255。为避免亮度过高,伤害视力,请在RGB LED模块未做任何遮挡时,输入值不要超过30。运行这条指令不能直接使用,需配合“RGB显示颜色”指令才行。


4.“当按钮按下”指令

blob.png

这个指令在输入类别指令中,使用这个指令可以给程序设置一个触发,参数可以下拉列表选择A或者B。


5.“随机数”指令

blob.png

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


作品制作


1.作品描述

    多彩台灯是一个对于RGB模块、板载按键和随机数综合使用的案例,使用板载按键来控制RGB灯,按一下,切换一种颜色,再按一下,切换另一种颜色,从而达到多彩台灯的效果,再通过乐高搭建,从而完成多彩台灯的结构制作。


2.硬件连接

    将模块与haoda:bit连接起来: RGB模块连接“P0”端口;接着haoda:bit与计算机连接,将haoda:bit开机,确定电脑资源管理器跳出“MICRBIT”U盘,进入下载模式。

blob.png


3.点亮RGB模块

登录“好好搭搭”网站,选择“创作”栏目中的“好搭bit模板”,进入“haoda:bit编程设计页”进行编程。

要点亮RGB LED,应该先使用“RGB初始化”指令,然后再使用“RGB显示颜色”指令,根据实际连接情况修改参数,选择点亮几盏RGB灯和自己喜欢的颜色。具体程序代码如下图所示:

blob.png

注意:由于RGB模块外部没有灯罩,此时显示的颜色比较刺眼,尽量不要直视灯珠。


4.使用RGB参数值指令点亮指定颜色

     先使用“RGB初始化”指令,再使用“RGB显示颜色”指令,将”RGB参数值”指令拖至“RGB显示颜色“指令的第二个参数下,最后根据实际连接情况设置端口参数、设置“红”、“绿”、“蓝”参数值。具体程序代码入下图所示:

blob.png

注意:由于RGB模块外部没有灯罩;RGB参数值指令下的参数可以设置的小一点,不要超过30。


试一试:修改程序中RGB参数值指令下的R、G、B三个参数值,看看发出的是什么颜色的光线。

blob.png


5.用按键控制台灯变色

要用按键控制RGB模块,可以在上一步骤编写程序的基础上,修改主程序外面的“无线循环”指令为“当按钮按下“指令;要想要每次切换不同颜色需要使用随机数指令,拖出三个随机数指令,将其拖至”RGB参数值“指令下的R、G、B三个参数下,再加上一个延时指令。具体程序代码如下:

 blob.png


拓展与思考


会呼吸的灯


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