ESP32 RMT LED 灯带
此组件使用 ESP32 RMT 外设来驱动大多数可寻址 LED 灯带。
NOTE
ESP32-C2 和 ESP32-C61 没有 RMT 硬件,此组件不支持。
light: - platform: esp32_rmt_led_strip rgb_order: GRB pin: GPIOXX num_leds: 30 chipset: ws2812 name: "My Light"-
pin(必选,Pin Schema):灯光数据线的引脚。
-
num_leds(必选,int):灯带中的 LED 数量。
-
chipset(可选,enum):所用芯片组的名称;决定信号时序。 手动指定时序 时不需要。
WS2811WS2812SK6812APA106SM16703
-
rgb_order(必选,string):灯带的 RGB 顺序。
RGBRBGGRBGBRBGRBRG
-
is_rgbw(可选,boolean):如果灯带为 RGBW,设为
true。默认为false。 -
is_wrgb(可选,boolean):如果灯带为 WRGB,设为
true。默认为false。 -
max_refresh_rate(可选,Time):用于限制灯光每秒 可处理命令数量的时间间隔。例如,
16ms将限制灯光刷新率约为 60Hz。默认为 尽快发送命令以应对灯光变化。 -
use_psram(可选,boolean):设为
false以强制使用内部 RAM 分配,即使你已启用 PSRAM 组件。如果你在 LED 灯带上遇到闪烁等问题,这会很有用。默认为true。 -
rmt_symbols(可选,int):启用
use_dma时,设置驱动程序的内部 DMA 缓冲区大小。禁用 DMA 时,它指定为组件分配的 RMT 内存量。RMT 内存 在所有组件间共享,应按块大小的倍数分配。在ESP32和ESP32-S2变体上,RMT 内存由 RX 和 TX 组件共享。在其他变体上,RX 和 TX 有专用的 RMT 内存。
| ESP32 变体 | 可用内存 | 块大小 |
|---|---|---|
| ESP32 | 512 符号 | 64 符号 |
| ESP32-C3 | 96 符号 | 48 符号 |
| ESP32-C5 | 96 符号 | 48 符号 |
| ESP32-C6 | 96 符号 | 48 符号 |
| ESP32-H2 | 96 符号 | 48 符号 |
| ESP32-P4 | 192 符号 | 48 符号 |
| ESP32-S2 | 256 符号 | 64 符号 |
| ESP32-S3 | 192 符号 | 48 符号 |
-
use_dma(可选,boolean):在支持的变体上启用 DMA。如果启用,
rmt_symbols控制 DMA 缓冲区大小,并可设为较大值。 -
来自 Light 的所有其他选项。
如果你知道时序且未在上方设置芯片组,则可以使用这些。如果你有新的特定芯片组, 请考虑向代码库添加支持并将其添加到上述列表中。