RGB LED HAT

来自Waveshare Wiki
跳转至: 导航搜索
RGB LED HAT
RGB LED HAT
{{{name2}}}
{{{name3}}}
板载接口
RPi

器件介绍

WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口、数据锁存信号、整形放大驱动电路,还包含有高精度的内部振荡器和12V高压可编程定电流控制部分,有效保证了像素点光的颜色高度一致。
数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术(见:数据传输协议),使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。

数据传输协议

时序波形图
Rgb led hat timing.png

数据传输时间( TH+TL=1.25µs±600ns)

T0H 0码, 高电平时间 0.4µs ±150ns
T1H 1码, 高电平时间 0.8µs ±150ns
T0L 0码, 低电平时间 0.85µs ±150ns
T1L 1码, 低电平时间 0.45µs ±150ns

数据传输方法
Rgb led hat senddata.png
注: 其中 D1 为 MCU 端发送的数据, D2、 D3、 D4 为级联电路自动整形转发的数

颜色格式
颜色的格式分为很多种,常用的有RGB888、RGB565等等; RGB888表示:R:红色(Red),G:绿色(Green),B:蓝色(Blue)。表示占8位数据。因此传输一个完整的颜色数据,需要24位。 对于WS2812B而言,他使用的就是就是这种格式,只不过他发送的颜色数据是G-R-B,所以我们的再发送的时候,需要把我们的RGB转化成GRB:

G7 G6 G5 G4 G3 G2 G1 G0
R7 R6 R5 R4 R3 R2 R1 R0
B7 B6 B5 B4 B3 B2 B1 B0

注: 高位先发, 按照 GRB 的顺序发送数据

树莓派使用

基础使用

树莓派打开终端,安装如下库:

sudo apt-get install python3-pip -y
sudo pip3 install rpi_ws281x

下载示例程序,解压到指定目录,并运行示例程序:

wget https://www.waveshare.net/w/upload/b/b2/RGB_LED_HAT.zip
unzip RGB_LED_HAT.zip
sudo chmod 777 -R RGB_LED_HAT
cd RGB_LED_HAT
sudo python3 ws2812.py

运行这个示例程序,RGB LED会有颜色渐变的效果

如果使用的是RGB LED HAT (B),需要修改ws2812.py,不然灯的数量不全,如下:
Rgb led hat b change64.png

如果显示颜色不对,请尝试在/boot/config.txt 文件中添加如下两个语句,重启生效。
由于RGB LED采用DMA控制,占用树莓派上的音频输出DMA通道,因此添加这两个语句会导致耳机接口不能使用。

hdmi_force_hotplug=1
hdmi_force_edid_audio=1

手机网页控制

确保能够基础使用的前提下,再执行如下命令

sudo apt-get install python3-bottle
cd RGB_LED_HAT/web/
sudo python3 main.py

如果使用的是RGB LED HAT (B),需要修改main.py,把LED_COUNT修改成64
Rgb led hat python-bottle phone.jpg
如上图,在手机浏览器地址栏内输入树莓派 ip 地址,端口号 8000。通过点击调色盘不同的位置,RGB LED会显示不同的颜色。“static”、“breath”、“flash”分别对应三种显示模式。


以RGB LED HAT为例,实际演示效果:
RGB-LED-HAT-SDISPLAY.gif

问题

1:如果出现错误 RuntimeError: "ws2811_init failed with code -3 (Hardware revision is not supported)" <div class="tabbertab" title="资料" id="myresources"
答:卸载rpi_ws281x,手动下载源码,并编译安装

sudo pip uninstall rpi_ws281x
git clone --recurse-submodules https://github.com/rpi-ws281x/rpi-ws281x-python
cd rpi-ws281x-python/library/,
sudo python setup.py install
如果是python3,将pip改为pip3,python改成python3即可
如果出现更新之后还是出现此错误,可以参考点这里

资料

文档

程序

数据手册

相关链接

树莓派入门教程(新)
树莓派入门教程
树莓派OpenCV教程
树莓派littleGL系列教程
树莓派QT教程
树莓派OpenWrt教程


FAQ


技术支持


联系人:林工
EMAIL:3005425717@qq.com
电话:0755-83043099
QQ:3005425717
微信:扫下方二维码添加
Lzr.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证