亮灯实验
ESP32-S3-N16R8 自带一颗 ws2812b 彩灯
ws2812b
WS2813B 是一个集控制电路与发光电路于一体的智能外控 LED 光源。
应用领域
- LED 全彩发光字灯串,LED 全彩模组, LED 全彩软灯条硬灯条,LED 护栏管
- LED 点光源,LED 像素屏,LED 异形屏,各种电子产品,电器设备跑马灯等
注意
详细的东西可以在立创商城搜索灯之后查询详细的技术文档。
相关的引脚功能如下
WS2813B 更多情况下是用于灯带,只需要一个数字口就可以几乎无限级联的全彩 RGB LED
亮灯
ESP32-S3 已经将一粒灯集成到开发板上面了,可以查看 ESP32-S3 的技术文档,所以接下来我们
python
import neopixel # ws2812 库
import machine
p = machine.Pin(48)
n = neopixel.NeoPixel(p, 1)
# 红色
n[0] = (255, 0, 0)
n.write()
闪烁的 LED 灯
python
import time
import neopixel # ws2812 库
import machine
p = machine.Pin(48)
n = neopixel.NeoPixel(p, 1)
while 1:
# 红色
n[0] = (255, 0, 0)
n.write()
time.sleep(1)
n[0] = (0, 0, 0)
n.write()
time.sleep(1)
彩灯变化
python
import time
import neopixel # ws2812库
import machine
# 初始化
p = machine.Pin(48) # WS2812_PIN
n = neopixel.NeoPixel(p, 1)
def light_it(color_r, color_g, color_b):
# set (R,G,B) color
n[0] = (color_r, color_g, color_b)
# Update the strip.
n.write()
def light_clear():
# clear color
n[0] = (0, 0, 0)
n.write()
def main():
# 红色
light_clear()
light_it(255, 0, 0)
time.sleep(2)
# 绿色
light_clear()
light_it(0, 255, 0)
time.sleep(2)
# 蓝色
light_clear()
light_it(0, 0, 255)
time.sleep(2)
if __name__ == '__main__':
while 1:
main()