控制板载neopixel LED
使用neopixel扩展库,控制WS2812B灯带,10颗灯珠使用了MCU的一个IO ,但是可以通过程序分别控制每一个的颜色和明暗
在前人的经验里找到了一个教学网站Adafruit Circuit Playground Express - Blocks / Javascript editor
MakeCode 是微软开发的一款基于图形化编程的在线编程工具,它支持 Adafruit Circuit Playground Express,我们只需要在浏览器中打开 MakeCode 的网站,然后选择 Adafruit Circuit Playground Express,即可开始编程。
总的来说这块板子的目标就是让入门级的人都能轻松使用的感觉,灯带的集成化也是这个目的
还蛮适合那种艺术家创作使用的
根据视频例程,可以做出跑马灯的几种模式,比如先转完一圈再换个颜色,或者不断改变颜色的彩虹环
import time
import board
import neopixel
from rainbowio import colorwheel
import digitalio
# 自定义常量
BOARD_NEO_QTY = 10
BOARD_NEQ_BRI = 0.2
RED = (255, 0, 0)
YELLOW = (255, 150, 0)
GREEN = (0, 255, 0)
CYAN = (0, 255, 255)
BLUE = (0, 0, 255)
PURPLE = (180, 0, 255)
WHITE = (255, 255, 255)
OFF = (0, 0, 0)
# 初始化 NeoPixel
pixels = neopixel.NeoPixel(board.NEOPIXEL, BOARD_NEO_QTY, brightness=BOARD_NEQ_BRI,auto_write=False)
#模式切换
color_chase_demo = 0
flash_demo = 0
rainbow_demo = 0
rainbow_cycle_demo = 1
# 每0.5秒,按顺序改变一个灯珠的颜色
def color_chase(color, wait):
for i in range(10):
pixels[i] = color
time.sleep(0.1)
pixels.show()
time.sleep(0.4)
def rainbow_cycle(wait):
for j in range(255):
for i in range(10):
rc_index = (i * 256 // 10) + j * 5
pixels[i] = colorwheel(rc_index & 255)
time.sleep(0.1)
pixels.show()
while True:
rainbow_cycle(0.1)
'''color_chase(RED, 0.1)
color_chase(YELLOW, 0.1)
color_chase(GREEN, 0.1)
color_chase(CYAN, 0.1)
color_chase(BLUE, 0.1)
color_chase(PURPLE, 0.1)
color_chase(OFF, 0.1)'''
如果要转一圈换一个颜色的模式,就把彩虹环函数注释,放出下面的循环函数
不知道为啥视频传不上来
本帖最后由 crimsonsnow 于 2024-9-1 19:42 编辑