补充-Follow me 第二期扩展 ESP32-S3驱动RGB
[复制链接]
本帖最后由 liuvx 于 2024-1-3 17:22 编辑
手上还有之前买的大的RGB灯还没有使用,最近也是找时间画了个板子来把那些灯给用上。
买的RGB灯是WS2812,这种灯的好处是省IO口,一个IO口可以轻轻松松驱动十几个RGB,缺点就是对于驱动信号特别敏感,一旦信号传递出现问题就会不亮。
ESP32-S3有专门驱动WS2812B的库
import neopixel
调用的代码就是
pixel = neopixel.NeoPixel(IO, 1)
IO是信号的输出脚,1值的是代表只有1个灯,如果灯变多了数字也要随之增加。
最后实现效果如下
完整代码如下
import time
import board
import neopixel
import digitalio
n = 0
button = digitalio.DigitalInOut(board.BUTTON)
button.switch_to_input(pull=digitalio.Pull.UP)
pixel = neopixel.NeoPixel(board.SCK, 3) # 初始化rgb引脚
pixel.brightness = 0.6 # 更改亮度
while True:
if not button.value:
time.sleep(0.1)
if not button.value:
if n % 3 == 1:
pixel.brightness = 0.6
pixel.fill((255, 0, 0))
elif n % 3 == 2:
pixel.brightness = 0.5
pixel.fill((0, 255, 0))
elif n % 3 == 0:
pixel.brightness = 0.3
pixel.fill((0, 0, 255))
n = n+1
else:
pass
|