第五章 彩灯实验(1、一个彩灯)

材料:彩色led灯,面包板,(或杜邦线,鳄鱼夹)
enter image description hereenter image description hereenter image description here
彩灯购买参考

1,点亮一个彩灯

enter image description here
管脚:
5V:电源正极
GND:电源负极,地
DI:输入(控制) 接bit输出端口,比如P1
DO:输出(控制) 接下一个LED
你可以通过面包板,或在管脚上焊接4个排针,再鳄鱼夹或香蕉插接bit。
enter image description here

1.1 添加软件包:

基本模块中,没有LED,要在“高级”,“添加软件包”,选“neopixel”:
enter image description here
enter image description here

1.2 定义一个LED灯:

enter image description here

拖出,放到一个变量中,放在开始,修改变量名为”led“,端口为P1:

enter image description here

1.3 点亮LED灯:

enter image description here
有十种颜色选择:
enter image description here
小强:太少了,能不能更多?
从“neopixel”,“更多”中,拖入rgb模块:
enter image description here
可以显示255*255*255=16581375种颜色。

1.4 LED灯闪烁:

enter image description here
小强:没有闪烁,只有红色!
有提示:
enter image description here
要加一个“show",”clear“才能起作用:
enter image description here

小明:没那么麻烦,这样:
enter image description here

作业:设计一个十字路口交通灯。

1.5 变换颜色:

enter image description here

1.6 变换亮度:

直接输入亮度:
enter image description here
注意:亮度必须放在显示之前!

通过变量连续改变亮度:
enter image description here
小强:这个是慢慢变亮的,能不能慢慢变暗?
慢慢变暗就要亮度从255递减,那我们先设bright=255,然后以每次-5:
enter image description here
小强:不对!没变暗!
小明:每次循环,bright=255,后面的-5根本没起作用,当然不会变暗。
怎么办?
小明:好办:
enter image description here
聪明!

1.7 呼吸灯:

亮度要从0到255到0循环。
小强:把上面两个程序拼到一起就好了!呃,不行,成了闪灯。

方案一: 增加一个变量add,当bright增加到255时,令add=-1,当bright减少到0时,add=1:
enter image description here
小强:没变暗!一直亮!
忘了!所有变量初始值都为0,你可以切换到代码模式:
enter image description here
所以,亮度自然不会变。
在“当开机时”增加一条:
enter image description here

搞定。

方案二: 使用有限循环语句
知识点1: 有限循环语句

enter image description here

将索引改为bright:
enter image description here
切换到代码模式:

basic.forever(() => {
   for (let bright = 0; bright <= 4; bright++) {
                    }
  })

bright++意思是:bright==bright+1
上面程序的意思就是,bright从0到4,执行5次。

enter image description here

方案三: 使用函数
知识点2: 函数
enter image description here

enter image description here

函数取名为Liang(亮):

enter image description here

再创建一个函数An(暗),把变亮和变暗的程序拖进去:

enter image description here

再从“函数”模块中拖出“调用函数”:
enter image description here

完整程序:

enter image description here

函数,就是执行一个任务单位,可以重复调用,对程序的思路和简洁,有重大意义!