得捷电子Follow me第2期】+任务3:控制WS2812B
[复制链接]
项目介绍:使用按键控制板载Neopixel LED的显示和颜色切换
最开始要导入以下2个库
这里我选择板载的按键作为切换的按钮
这里我定义了几个颜色,然后初始化neopixel 和 按钮后就在主循环当中不断检测按键的值,达到led切换的效果。
代码如下:
import time
import board
import neopixel
import digitalio
# 定义颜色
colors = [(0x00, 0x00, 0x00), # black
(0xFF, 0x00, 0x00), # red
(0x00, 0xFF, 0x00), # green
(0x00, 0x00, 0xFF), # blue
(0xFF, 0xFF, 0xFF)] # white
# 初始化 NeoPixel
pixel = neopixel.NeoPixel(board.NEOPIXEL, 1)
pixel.brightness = 0.5
# 初始化按钮
button = digitalio.DigitalInOut(board.BUTTON)
button.switch_to_input(pull=digitalio.Pull.UP)
current_color_index = 0
while True:
# 读取按钮状态
button_state = not button.value
if button_state:
# 颜色循环
current_color_index = (current_color_index + 1) % len(colors)
pixel.fill(colors[current_color_index])
time.sleep(0.1)
现象如下:颜色可以在代码中修改
c93e268920e883acbc8992b47ab5ea5b
总结:将底部驱动都实现好,简单的拖拽一下库函数,很快的实现。很方便实现自己的创意。提高了可玩性。感谢得捷电子举办的此次活动
|