1、点亮RGB灯实验
大约 1 分钟
例程代码
from maix import GPIO
from modules import ws2812
import time
ws2812_obj = ws2812(6, 1)
colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255)]
while True:
for color in colors:
ws2812_obj.set_led(0, color)
ws2812_obj.display()
time.sleep_ms(500)
实验准备
- 通过usb线将K210与电脑连接。
- 打开CanMV IDE,执行上面的例程代码。
实验结果
- 运行之后,K210侧面的RGB灯每隔500ms会在蓝色、绿色和红色之间切换。
![](/assets/img/intelligence/K210/K210_4_1.png)
![](/assets/img/intelligence/K210/K210_4_2.png)
![](/assets/img/intelligence/K210/K210_4_3.png)
例程代码讲解
- 导入运行例程所需的模块。
from maix import GPIO
from modules import ws2812
import time
- 创建WS2812对象,用于控制WS2812可寻址RGB灯。这里的参数(6, 1)第一个参数6是RGB灯的引脚编号,第二个参数1表示只控制一个WS2812灯。
ws2812_obj = ws2812(6, 1)
- 定义一个包含三种颜色的列表,分别是红色、绿色和蓝色。
每个颜色用一个包含三个元素的元组表示,分别对应RGB三个颜色通道的值。
- 定义一个包含三种颜色的列表,分别是红色、绿色和蓝色。
colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255)]
- 进入一个无限循环。
while True:
- 遍历颜色列表colors中的每一种颜色。
for color in colors:
- 设置索引为0的WS2812灯的颜色为当前遍历到的颜色,ws2812_obj.set_led(0, color)这里的0表示要设置颜色的灯的索引,因为我们只控制一个灯,所以索引就是0。
ws2812_obj.set_led(0, color)
- ws2812_obj.display()将设置好颜色的灯的状态进行显示,使颜色变化生效。
ws2812_obj.display()
- time.sleep_ms(500)让程序暂停500毫秒,这样可以让我们看到每种颜色的显示效果,避免颜色切换过快。
time.sleep_ms(500)