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 (必需, 引脚模式): 灯的数据线引脚。
-
num_leds (必需, 整数): 灯带中的 LED 数量。
-
chipset (必需, 枚举): 所用芯片组的名称;决定信号时序。如果手动指定时序则不需要。
WS2811WS2812SK6812APA106SM16703
-
rgb_order (必需, 字符串): 灯带的 RGB 顺序。
RGBRBGGRBGBRBGRBRG
-
is_rgbw (可选, 布尔值): 如果灯带是 RGBW,设置为
true。默认为false。 -
is_wrgb (可选, 布尔值): 如果灯带是 WRGB,设置为
true。默认为false。 -
max_refresh_rate (可选, 时间): 用于限制灯光每秒可处理的命令数量的时间间隔。例如,
16ms将限制灯光的刷新率约为 60Hz。默认为在灯光更改时尽快发送命令。 -
use_psram (可选, 布尔值): 设置为
false以强制使用内部 RAM 分配,即使您启用了 PSRAM 组件。如果您的 LED 灯带出现闪烁等问题,这可能很有用。默认为true。 -
rmt_symbols (可选, 整数): 当启用
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 (可选, 布尔值): 在支持 DMA 的变体上启用 DMA。如果启用,
rmt_symbols控制 DMA 缓冲区大小,可以设置为较大的值。 -
所有其他选项来自灯光组件。
如果您知道时序并且您的芯片组未在上面设置,可以使用这些。如果您有新的特定芯片组,请考虑向代码库添加支持并将其添加到上面的列表中。