RGB LED HAT

来自丢石头百科
RGB LED HAT
RGB LED HAT
{{{name2}}}
{{{name3}}}
基本信息
分类: 树莓派扩展板
功能: Raspberry Pi 全彩LED扩展板
{{{userDefinedInfo1}}}: {{{userdefinedvalue1}}}
{{{userDefinedInfo2}}}: {{{userdefinedvalue2}}}
{{{userDefinedInfo3}}}: {{{userdefinedvalue3}}}
{{{userDefinedInfo4}}}: {{{userdefinedvalue4}}}
{{{userDefinedInfo5}}}: {{{userdefinedvalue5}}}
{{{userDefinedInfo6}}}: {{{userdefinedvalue6}}}
品牌: Waveshare
板载接口
RPi
相关产品
♦ {{{Product1}}}
♦ {{{Product2}}}
♦ {{{Product3}}}
♦ {{{Product4}}}
套餐模块

器件介绍

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 python-pip
sudo pip install rpi_ws281x

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

sudo apt-get install p7zip
wget http://wiki.diustou.com/w/upload/6/6a/RGB_LED_HAT_Code.7z
7zr x RGB_LED_HAT_Code.7z -r -o./RGB_LED_HAT
sudo chmod 777 -R RGB_LED_HAT
cd RGB_LED_HAT
sudo python 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 python-bottle
cd ~/RGB LED HAT/web-RGB
sudo python 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

FAQ



Icon-mail.png 联系 丢石头

我们的工作时间是: 09:00-18:00 (UTC+8 周一到周六)