2 个版本
0.1.5 | 2022年7月22日 |
---|---|
0.1.4 |
|
#1315 in 硬件支持
127 每月下载量
用于 rpi_ws281x-c
94KB
2K SLoC
rpi_ws281x-sys
绑定到 rpi_ws281x
来源 1ba8e385708fb7802b09c0177a7ea4293948e25c
GPIO 使用
可用的GPIO受Pi的硬件限制,并会根据驱动它们的方法(PWM、PCM或SPI)而变化。请注意,GPIO编号与引脚头上的物理引脚编号不同。
PWM
PWM0, which can be set to use GPIOs 12, 18, 40, and 52.
Only 12 (pin 32) and 18 (pin 12) are available on the B+/2B/3B
PWM1 which can be set to use GPIOs 13, 19, 41, 45 and 53.
Only 13 is available on the B+/2B/PiZero/3B, on pin 33
PCM
PCM_DOUT, which can be set to use GPIOs 21 and 31.
Only 21 is available on the B+/2B/PiZero/3B, on pin 40.
SPI
SPI0-MOSI is available on GPIOs 10 and 38.
Only GPIO 10 is available on all models.
See also note for RPi 3 below.
电源和电压要求
WS281X LED通常在5V下工作。根据您的实际LED型号和数据线长度,您可能能够用3.3V成功驱动数据输入。但在一般情况下,您可能希望使用电平转换器将Raspberry Pi GPIO/PWM转换为5V。
也有可能从3.3V - 3.6V的电源运行LED,并直接连接GPIO,但这会以亮度损失为代价,因此不推荐这样做。
了解您的硬件和电的使用情况。对于损坏、伤害或错误,本人不承担任何责任。
关于DMA通道的重要警告
您必须确保您为LED选择的DMA通道没有被操作系统占用。
例如,使用DMA通道5 将导致 Raspberry Pi 3 Model B的文件系统损坏。
默认DMA通道(10)对于Raspberry Pi 3 Model B应该是安全的,但这可能在未来的软件版本中发生变化。
限制
PWM
由于这个库和板载Raspberry Pi音频都使用PWM,因此它们不能一起使用。您需要通过创建文件 /etc/modprobe.d/snd-blacklist.conf
来禁用Broadcom音频内核模块。
blacklist snd_bcm2835
如果禁用后音频设备仍然在加载,您可能还需要在 /etc/modules 文件中将其注释掉。
在无头系统上,您可能还需要强制通过HDMI播放音频。编辑config.txt并添加
hdmi_force_hotplug=1
hdmi_force_edid_audio=1
此更改生效需要重新启动
某些发行版默认使用音频,即使没有任何声音播放。如果需要音频,可以使用USB音频设备。
PCM
当使用PCM时,不能使用使用I2S的数字音频设备,因为I2S使用PCM硬件,但可以使用模拟音频。
SPI
当使用SPI时,led字符串是唯一可以连接到SPI总线的设备。可以使用数字(I2S/PCM)和模拟(PWM)音频。
许多发行版的最大SPI传输为4096字节。这可以在/boot/cmdline.txt
中通过追加来更改
spidev.bufsiz=32768
在RPi 3上,您必须将GPU核心频率更改为250 MHz,否则SPI时钟频率将不正确。
通过将以下行添加到/boot/config.txt并重新启动来完成此操作
core_freq=250
在RPi 4上,必须设置一个固定频率,以避免空闲CPU缩放改变SPI频率并破坏ws281x时序
通过将以下行添加到/boot/config.txt并重新启动来完成此操作
core_freq=500
core_freq_min=500
如果希望不使用root控制LED,则需要将您添加到gpio
组中。
依赖项
~225KB