arduino怎么 *** 作WS2812B彩灯模块

arduino怎么 *** 作WS2812B彩灯模块,第1张

有的‘阶新科技’,以下是控制程序:

LED 单线翻转归零码驱动例子

说明: 由于数据脉宽最短只有几百纳秒, 需要使用示波器根据资料时序调驱动。

void Send_8bit(uchar dat)

{

uchar i

for(i=0i<8i++)

{

DAI=1

if(dat&0x80) // CODE_1

{

DAI=1_nop_()_nop_()_nop_()

DAI=1_nop_()_nop_()_nop_()

DAI=1_nop_()_nop_()_nop_()_nop_()

DAI=0_nop_()

} e

lse // CODE_0

{

DAI=1_nop_()_nop_()_nop_()

DAI=0_nop_()_nop_()_nop_()

DAI=0_nop_()_nop_()_nop_()

DAI=0_nop_()_nop_()_nop_()

} d

at=dat<<1

}

} v

oid Send_24bits(uchar dat1,uchar dat2,uchar dat3)

{

Send_8bit(dat1)

Send_8bit(dat2)

Send_8bit(dat3)

} v

oid Rst(void ) // Data-Low>>50 us

{

uint s

DAI=0

for(s=0s<50s++){_nop_()_nop_()_nop_()}

}

在本篇文章中,我们将学习如何使用Arduino开发板控制可独立寻址的RGB LED灯或基于WS2812B的LED灯条。首先,我们通过一些基本示例阐释其工作原理,然后看一个非常酷的使用这些LED灯的Arduino项目 - DIY交互式LED咖啡桌。咖啡桌带有一颗WS2812B LED灯、用于检测物体的红外接近传感器和用于通过定制的Android应用程序控制颜色的HC-05蓝牙模块。

让我们首先仔细看看LED灯条。它由5050型RGB LED灯组成,其中集成了非常紧凑的WS2812B LED驱动器IC。

根据三个红色、绿色和蓝色LED的强度,我们可以模拟出我们想要的任何颜色。

使用这些LED灯的优点在于我们只需使用Arduino开发板上的一个引脚即可控制整个LED灯条。每个LED在每端有三个连接器接口,两个用于供电,一个用于数据。箭头表示数据流方向。前一个LED的数据输出焊盘连接到下一个LED的数据输入焊盘。我们可以将灯带切割成我们想要的任何尺寸,也可以使用电线增加LED灯距离。

至于供电,它们工作在5V,每个红色、绿色和蓝色LED需要大约20mA,或者在全亮度下每个LED总共60mA。请注意,当Arduino通过USB供电时,5V引脚只能处理大约400 mA的电流,当使用桶式电源连接器供电时,5V引脚可以处理大约900 mA的电流。因此,如果您使用更多LED并且它们将绘制的电流量超过上述限制,则必须使用单独的5V电源。在这种情况下,您还需要将两条地线彼此连接起来。此外,建议在Arduino和LED灯条数据引脚之间使用大约330欧姆的电阻,以降低该线路上的噪声,以及5V和地线上大约100uF的电容,以平滑电源。

参考链接: https://www.yiboard.com/thread-989-1-1.html


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12085821.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存