第一个参数n是彩带中LED的编号,最接近单片机引脚的编号为0;接下来的三个参数描述像素颜色,分别表示红色、绿色和蓝色的亮度级别,0为最暗,255是最大亮度;
strip.setPixelColor(uint16_t n, uint32_t c)
n是彩带中LED的编号,颜色color是一种32位类亩敏型,将红迅首枝色,绿色和蓝色值合并为一个数字,有时这样做能提高程序的效率。通过下面的方法,可以将红色、绿色和蓝色值转换为32位类型。
uint32_t magenta = strip.Color(red, green, blue)
strip.setBrightness(uint8_t)
一般只在setup()中调用,以保证在整个程序执行过程中LED颜色亮度的一致性。其实,在程序中通过合适的逻辑控制各像素的亮度值,可能动画效果更好。
strip.show()
该方法更新彩带上的全部LED。一个好的习惯是先利用setPixelColor()设置好整个彩带的颜色,芹凳然后再调用show()方法,以防止出现动画跳跃而不平滑。
有的‘阶新科技’,以下是控制程序: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_()}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)