[作品提交] 得捷电子Follow me第2期】+任务3:控制WS2812B

施小杰   2023-11-6 18:01 楼主

项目介绍:使用按键控制板载Neopixel LED的显示和颜色切换

 

最开始要导入以下2个库

image.png  

 

这里我选择板载的按键作为切换的按钮

 

这里我定义了几个颜色,然后初始化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

 

总结:将底部驱动都实现好,简单的拖拽一下库函数,很快的实现。很方便实现自己的创意。提高了可玩性。感谢得捷电子举办的此次活动

 

回复评论 (1)

将底部驱动都实现好,简单的拖拽一下库函数,很快的实现,期待

点赞  2023-11-7 07:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复