找回密码
 立即注册
搜索
0赞
赞赏
手机版
扫码打开手机版
把文字装进口袋

rgb灯珠驱动芯片(rgb灯珠控制电路)

小仙女要起飞 2022-8-12 13:41:01
[quote]文章摘要:rgb灯珠驱动芯片(rgb灯珠控制电路)rgb珠子驱动芯片(rgb灯珠控制电路 rgb灯介绍 WS2812是将控制电路和发光电路一体化的智能外部控制LED光源,其外形与5050的led灯珠相同,各珠子是一个像素点。各像素...
[/code]                                                       
                                                       
                            rgb珠子驱动芯片(rgb灯珠控制电路
rgb灯介绍
WS2812是将控制电路和发光电路一体化的智能外部控制LED光源,其外形与5050的led灯珠相同,各珠子是一个像素点。各像素点的rgb3基色能够实现256级的亮度显示,能够生成167771216种颜色,扫描频率不低于400Hz/s,串行级联接口仅通过一条信号线完成数据接收和解码。在刷新速率为30帧/秒的情况下,级联数为1024个以上,数据发送速率达到800Kbps,所产生的光的颜色高度一致,性值相对较高。
WS2812销概略图
引脚号码引脚名称说明1DO控制数据信号输出端2DI控制数据信号输入端3VCC控制电路电源正极4NC伪5VDDLED电源正极6VSS电源负极
数据序列图
0,1代码的高级时间:
T0H0码,高电平时间0.35us±150nsT0L0码,低电平时间0.8us±150nsT1H1码,高电平时间0.7us±150nsT1码,低电平时间0.6us±150nsREs低电平时间约50us?
TH+TL=1.25μs±600ns
时序图:
</p>数据传输方式:
</p>这里D1是在MCU端发送的数据,D2、D3、D4是级联电路自动整形转发的数据。
24比特数据的构成:
</p>这个按GRB的顺序发送数据。
安装关联库RGB LED
首先安装相关程序库。
sudo pip3 install rpi_ws281x adafruit-circuit-python-neo-pixelsudopython3-mpip-force-reinstalladafruit-blinkacircuitpython支持。x版本。
RGB LED和树莓派的连接方法:
RGB LED 树莓派 VCC +5V GND GND DI D18 (GpIO1)
树莓派的D10、D12、D18或D21只有销能够驱动WS2812rgb灯。例1:点亮rgb
实现1个rgb灯的点亮。
#!/usr/bin/envpython#coDIng=utf-8import timeimport boardimport neopixel#定义rgb控制销是D10、D12、D18或D21pixel选项卡。pin = board.D18#串联rgb珠的数量,这里仅点亮第一个numpixels=1#定义rgb数据顺序:rgb或者GRBCOLORORDER=neopixel。GRBpixels = neopixel.neopixel(pixel_pin, num_pixels, brightness=0.3, auto_write=False, pixel_ORDER=COLOR_ORDER#第1个rgb点亮灯,显示红色pixels。fill((255, 0, 0))pixels.show()程序必须在python3作为root执行。
效果图:
</p>例2:rgb动态显示
实现红、绿、蓝、虹环的示例。
#!/usr/bin/envpython#coDIng=utf-8import timeimport boardimport neopixel#定义rgb控制销是D10、D12、D18或D21pixel选项卡。pin = board.D18#串联numpixels=3#定义rgb数据顺序:rgb或者GRBCOLORORDER=neopixel。GRBpixels = neopixel.neopixel(pixel_pin, num_pixels, brightness=0.3, auto_write=False, pixel_ORDER=COLOR_ORDER)def wheel(pos): if pos lt; 0 or pos gt; 255: r = g = b = 0 elif pos lt; 85: r = int(pos * 3) g = int(255 - pos * 3) b = 0 elif pos lt; 170: pos -= 85 r = int(255 - pos * 3) g = 0 b = int(pos * 3) else: pos -= 170 r = 0 g = int(pos * 3) b = int(255 - pos * 3) return (r, g, b) if COLOR_ORDER in (neopixel.rgb, neopixel.GRB) else (r, g, b, 0)def rainbow(wait): for j in range(255): for i in range(num_pixels): pixel_index = (i * 256 //num_pixels) + j pixelsi = wheel(pixel_index 255) pixels.show() time.sleep(wait)while True: pixels.fill(255,0)#红色pixels。show() time.sllt;ickeygt;eep(1) pixels.fill((0,255,0)#绿pixels。show() time.sllt;ickeygt;eep(1) pixels.fill((0,0255)#蓝色pixels。show() time.sllt;ickeygt;eep(1)rainbow(0.01)#彩虹程序需要在python3作为root来执行。
效果图:
</p>附件:neopixel库的官方文档:AdafluitcircuitpythonneopixelLibrary

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

使用道具 举报

您需要登录后才可以回帖 立即登录
楼主你知道的太多了。
2022-9-7 07:20:31
◥█▄▃▁
.......◥█☆█▅▄▃▁▁▁▁▁▃▄▅▅ 云南代表队 ▅▅▅▄▁
〓▇█████ 雷雷雷雷雷雷██████████████████▅▄▃▁▁
〓〓〓█████████████◤
....................轰炸过
..................轰炸过
...............轰炸过
............轰炸过
..........轰炸过
........轰炸过
......轰炸过
.....轰炸过
....轰炸过
...轰炸过
..轰炸过
.轰炸过 .轰炸过 楼上l楼下保持队行 !!!!!
2022-9-7 07:20:32
很给力。。。。很喜欢
2022-9-7 09:22:03
返回顶部