Chapter 5 of KitiBot for Micro:bit
第五章 RGB LED
小车控制板上集成了4个全彩RGB LED灯,可以通过编程显示五彩斑斓的颜色,让小车增加酷炫的效果。现在通过一个简单的教程来学习如何将RGB LED显示不同的颜色。
(注意:由于micro:bit自带的neopixel库不能和蓝牙共用,所以控制板不采用ws2812型号RGB LED,而是采用APA102型号的RGB LED。所以KitiBot小车RGB LED和蓝牙互不影响)。
首先新建一个工程,点击 高级-> 添加软件包,输入网址https://github.com/waveshare/pxt-APA102 添加APA102软件库,可以看到在积木区新增了一个APA102项,里面有各种操作积木。
第一节
下面先来一个简单的程序,让RGB LED全部亮起来。
首先初始化APA102灯带为4个LED灯RGB模式,保存在变量item中。
(注意:KitiBot主控板是用P8,P12两个引脚控制,如果不是用这两个引脚控制还需要设置管脚。)
最后直接用积木全部显示为蓝色。积木有红橙黄绿青蓝靛紫白几种颜色可选。
下载程序后可以看到4个RGB LED都显示蓝色。下载程序后可以看到4个RGB LED都显示蓝色。
第二节
如果要将每个RGB LED都显示不一样的颜色怎么设置呢?我们在之前的程序的基础上修改,让4个RGB LED分别显示 红黄绿蓝。
通过积木可以设置各个点的颜色,需要注意的是像素点是从0开始的。
第三节
这个一节我们修改程序让RGB LED循环显示红黄绿蓝,让RGB LED实现流水灯的效果。我们还是在上一节的程序上修改。
用循环移动积木可以将当前像素点的颜色移动到下一个像素点,记得需要用显示设定颜色积木将设定的颜色显示出来,需要添加一个延时,否则显示速度太快看不清。
第四节
下面让4个RGB LED显示彩虹颜色渐变的效果。
程序中用到下面这个积木来显示彩虹的效果。这里需要说明一下这个积木的作用,积木的参数表示色相,范围1~360。色相不同就显示不同的颜色,积木的效果就是将1~360的色相平均的显示到4个RGB LED上。如果灯带上的RGB LED的数量越多,显示的色彩越多,整个灯带就会有一个彩虹的效果
单单用到这个积木只能显示彩虹的效果,但是还没有渐变的效果。程序中还创建一个hue 变量,保存RGB LED灯的色相,然后程序中循环显示hue 到 hue+100 的彩虹效果。hue逐渐增加就会有颜色渐变的效果了。