“RGB LED HAT”的版本间的差异
Waveshare-admin(讨论 | 贡献) 小 (替换文字 - 「</div> <div class="tabbertab" title="FAQ">」替换为「 {|style="width:auto" | {|class="bd-white at-c" style="table-layout:fixed;border-radius:100px;width:100%;border:2px solid #{{{bordercolor}}}" |- |class="bg-Joinus roundy-100 " styl) |
(→问题) |
||
(未显示5个用户的31个中间版本) | |||
第1行: | 第1行: | ||
+ | <div class="wiki-pages blue-color"> | ||
+ | <div class="tabberlive newwsnav" id="wsnavbar"> | ||
+ | <ul class="tabbernav"> | ||
+ | <li class="nav-link">[[#myintro|说明]]</li> | ||
+ | <li class="nav-link">[[#myresources|资料]]</li> | ||
+ | <li class="nav-link">[[#myfaq|FAQ]]</li> | ||
+ | <li class="nav-link">[[#mysupport|售后]]</li> | ||
+ | </ul> | ||
+ | </div> | ||
<div class="tabber"> | <div class="tabber"> | ||
− | |||
− | |||
{{扩展板|colorscheme=blue | {{扩展板|colorscheme=blue | ||
|name = RGB LED HAT | |name = RGB LED HAT | ||
− | |img = [[File:RGB-LED-HAT-1.jpg|360px |alt=RGB LED HAT|link= | + | |img = [[File:RGB-LED-HAT-1.jpg|360px |alt=RGB LED HAT|link=https://{{SERVERNAME}}/shop/RGB-LED-HAT.htm | RGB LED HAT]] |
|category1=树莓派 | |category1=树莓派 | ||
|category2=mini PC | |category2=mini PC | ||
第11行: | 第18行: | ||
|interface1 = RPi | |interface1 = RPi | ||
}} | }} | ||
+ | |||
+ | {{RGB LED USER}} | ||
+ | |||
+ | ===问题=== | ||
+ | 1:如果出现错误 RuntimeError: "ws2811_init failed with code -3 (Hardware revision is not supported)" | ||
+ | <div class="tabbertab" title="资料" id="myresources"<br> | ||
+ | 答:卸载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即可 | ||
+ | 如果出现更新之后还是出现此错误,可以参考[https://github.com/jgarff/rpi_ws281x/issues/483 点这里] | ||
+ | |||
+ | =资料= | ||
+ | |||
===文档=== | ===文档=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/1/16/RGB_LED_HAT_%28B%29_Schematic.pdf 原理图]<br> |
− | + | ||
===程序=== | ===程序=== | ||
− | *[ | + | <!-- *[https://{{SERVERNAME}}/w/upload/8/82/RGB_LED_HAT_%28B%29_Code.7z 示例程序] --> |
− | *[ | + | *[https://www.waveshare.net/wiki/File:RGB_LED_HAT.zip 示例程序] |
===数据手册=== | ===数据手册=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/a/a6/WS2812B_datasheet_CN.pdf WS2812B中文手册] |
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/9/94/WS2812B_datasheet_EN.pdf WS2812B英文手册] |
===相关链接=== | ===相关链接=== | ||
{{Raspberry Pi Study}} | {{Raspberry Pi Study}} | ||
− | |||
− | {{ | + | |
+ | |||
+ | </div> | ||
+ | |||
+ | <div class="tabbertab" title="FAQ" id="myfaq"> | ||
+ | |||
+ | <h1>FAQ</h1> | ||
+ | <br /> | ||
+ | </div> | ||
+ | |||
+ | <div class="tabbertab" title="售后" id="mysupport"> | ||
+ | |||
+ | <h1>技术支持</h1> | ||
+ | <br /> | ||
+ | {{Service17}} | ||
+ | </div> | ||
</div> | </div> | ||
− | |||
− |
2023年1月9日 (一) 11:39的最新版本
| |||||||||||||||
| |||||||||||||||
器件介绍
WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口、数据锁存信号、整形放大驱动电路,还包含有高精度的内部振荡器和12V高压可编程定电流控制部分,有效保证了像素点光的颜色高度一致。
数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术(见:数据传输协议),使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。
数据传输协议
数据传输时间( 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 |
数据传输方法
注: 其中 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 -y
下载示例程序,解压到指定目录,并运行示例程序:
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,不然灯的数量不全,如下:
如果显示颜色不对,请尝试在/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
如上图,在手机浏览器地址栏内输入树莓派 ip 地址,端口号 8000。通过点击调色盘不同的位置,RGB LED会显示不同的颜色。“static”、“breath”、“flash”分别对应三种显示模式。
问题
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即可 如果出现更新之后还是出现此错误,可以参考点这里
资料
文档
程序
数据手册
相关链接
FAQ