1. 案例目的
学习掌握 NeoPixel 全彩灯板模块的使用,并在此基础上,进一步了解循环等逻辑。
NeoPixel 全彩灯板采用 WS2812 芯片驱动,能够实现独立控制每个 LED 的颜色和亮度。每个LED模块都具有内置驱动电路,可通过数字信号链式连接,简化控制线路的布置。WS2812 常用于各种创意照明、显示屏、装饰性光效、舞台灯光、广告牌、家庭装饰等领域。
2. 使用材料
3. 软件平台
MicroBlocks——CoCube & CoCube Module
4. 快速体验
连接设备:通过有线或者无线方式,连接 MicroBlocks IDE 与 CoCube 机器人,并将 NeoPixel 全彩灯板模块安装到 CoCube 机器人上。
添加积木库:在“机器人”目录下,添加 “CoCube Module库”——“CoCube Module库”中涵盖了 NeoPixel 灯板最常用的三种功能——连接、点亮以及关闭。
- 连接NeoPixels:在“CoCube Module”积木库中找到“连接 NeoPixels”积木块,拖拽到工作区,并单击运行。
- 点亮所有 NeoPixels:拖拽出“设置所有 NeoPixels 的颜色”积木,单击运行,NeoPixel灯板的48枚灯珠将全部发光。你可以试着调整灯珠的颜色。
- 清除显示:若希望熄灭 NeoPixel,则可拖拽出“关闭 NeoPixels”积木,单击运行。
- 注意:WS2812 是一种功耗较大的元器件,因此 CoCube 机器人的电量下降也更快。请注意查看电量并及时充电。
5. 进阶功能
NeoPixel 全彩灯板采用 WS2812 芯片驱动,LED 灯珠按照从左到右,从上到下的次序排布,每个 LED 灯珠的颜色和亮度均能被独立控制。添加“CoCube Module”库之后,可以看到该库所依赖的 NeoPixel 库也被同时加载进了 MicroBlocks IDE 中,基于它,我们可以实现更加丰富的效果。
5.1 流水灯
回顾 案例01 LCD 屏幕编程,我们对 5 * 5 的 LCD 屏幕编写了流水灯程序。现在我们在 NeoPixel 全彩灯板上重新实现一下。
参考程序——要先自己思考呀!
5.2 多色流水灯
思考一下,如果希望每一行都是不同颜色的流水灯,应该如何实现呢?
参考代码——要先自己思考呀!
5.3 轮转
“轮转 NeoPixel 间距”积木,指的是将现有的灯珠颜色整体移位。
5.4 颜色移动
如何让灯板呈现出自然渐变的效果呢?
那更进一步,你是否可以完成七彩的渐变呢?
参考代码——要先自己思考呀!
6. 挑战一下
与 CoCube 机器人的定位地图联动,你能创作出哪些更有趣的作品呢?
7. 参考代码示例
以上所有案例代码: