首页 » 科学 » Arduino入门必备之全彩灯珠WS2812B您理解吗?_暗记_试卷

Arduino入门必备之全彩灯珠WS2812B您理解吗?_暗记_试卷

神尊大人 2024-11-20 05:15:53 0

扫一扫用手机浏览

文章目录 [+]

WS2812B灯珠设计绝对是一种精良的创新,也是我最喜好的一种LED灯珠。
它不须要对LED灯珠的每个颜色进行IO掌握,也不须要通过类似传统的那种彩色LED的三个引脚来实现颜色显示。
WS2812B的最大特点是可以实现级联,而且绝对担保颜色的同等性,且只须要用到一个IO端口,您就可以掌握成百上千的LED灯珠串。
下面我来说说WS2812B具有此惊人功能的缘故原由。

硬件封装:

Arduino入门必备之全彩灯珠WS2812B您理解吗?_暗记_试卷 Arduino入门必备之全彩灯珠WS2812B您理解吗?_暗记_试卷 科学

WS2812B是一款智能的外部掌握LED光源,内嵌掌握电路和发光电路。
我们常见的外不雅观为5050封装,也有其他诸如3528封装等,每个灯珠组件可以算作是一个像素。
引脚见下图

Arduino入门必备之全彩灯珠WS2812B您理解吗?_暗记_试卷 Arduino入门必备之全彩灯珠WS2812B您理解吗?_暗记_试卷 科学
(图片来自网络侵删)

这是引脚定义:

下图是WS2812B级联连接的范例运用:

通过这种级联连接,我们可以制作灯带,灯环,乃至矩阵屏。

旗子暗记掌握:

仅利用一条旗子暗记线,我们就可以掌握全体LED灯条。
掌握线上有三种旗子暗记:逻辑0,逻辑1和RET代码。
下图显示了它们相应的韶光波形。

在低电平的复位脉冲下(保持至少50us),所有色彩数据均从掌握器以24位二进制数逐一发送。
在24位数字中,每种颜色都占用8位(即256级亮度)。
根据顺序,分别为绿色、赤色、蓝色。

每次传输单个灯珠的数据时,WS2812B芯片会将除自身颜色数据以外的所有数据传送给下一个LED灯珠。
如图:

把稳:D1代表来自MCU掌握器的数据。
D2,D3,D4代表级联电路自动转换的转发数据。
如果您仍旧以为很繁芜,可以考试测验以这种办法理解它:想象一下老师在教室上发试卷的过程。
老师是旗子暗记的来源(即掌握器的IO端口),每个学生都是单个的灯珠。
老师把一堆试卷给第一位学生;第一位学生拿到试卷后,他自己留下一份,会将别的的试卷移交给身后的第二位学生;第二位学生拿到试卷后,自己留下一份,会将别的的试卷交给第三位学生。
后面所有的学生重复这一动作,直到所有学生都得到他们的试卷。
基于此事理,我们可以利用IO端口来传输全体LED灯条所需的所有的灯珠颜色数据。

看到这,是不是感到繁芜?但在实际利用中,却非常随意马虎。
由于在Arduino或者其他的单片机的运用中,已经有人为您写好了NeoPixel和FastLED库函数。
有了这些库函数,我们可以快速驱动LED灯条。

末了说说它的功耗。
每个LED灯珠的颜色的通道电流约为 18.5mA,那么单个灯珠的总电流约为55.5mA(我们近似地算作60mA)。
如果有较多数量的LED灯珠串接,则必须外接电源供电,否则会导致彩色显示非常。

您如果有任何关于WS2812B的问题,请在评论区留言,我会尽力解答。

标签:

相关文章