1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > ws2812b灯带容易坏_树莓派控制WS2812B灯带 - Python

ws2812b灯带容易坏_树莓派控制WS2812B灯带 - Python

时间:2019-01-19 21:51:30

相关推荐

ws2812b灯带容易坏_树莓派控制WS2812B灯带 - Python

上图为真实的效果图每个单独的LED均可单独控制

WS2812B线路图

VSS零线(地线)

DIN数据输入(控制颜色以及亮度)

DOUT数据输出(将数据传给下一个LED)

VDD电源供电 (+3.5V~+5.3V)

WS2812B灯带线路图

WS2812B接线方法

安装插件sudoapt-getinstallpython-pip

sudopipinstallrpi_ws281x

编写脚本ws2812b.pyimporttime

importrandom

fromrpi_ws281ximportAdafruit_NeoPixel,Color

#LED配置:

LED_COUNT=10#要控制LED的数量.

LED_PIN=18#GPIO接口(PWM编码).

LED_BRIGHTNESS=255#设置LED亮度(0-255)

#以下LED配置无需修改

LED_FREQ_HZ=800000#LED信号频率(以赫兹为单位)(通常为800khz)

LED_DMA=10#用于生成信号的DMA通道(尝试5)

LED_INVERT=False#反转信号(使用NPN晶体管电平移位时)

#创建NeoPixel对象

strip=Adafruit_NeoPixel(LED_COUNT,LED_PIN,LED_FREQ_HZ,LED_DMA,LED_INVERT,LED_BRIGHTNESS)

#初始化库

strip.begin()

#设置整体亮度关闭LED为0最亮为255范围0-255

#该函数与下面的设置颜色都不会直接对LED进行修改,可以理解为将修改数据保存到缓存区。

#strip.setBrightness(200)

#numPixels()函数介绍:取NeoPixel对象创建时设置的LED数量

foriinrange(0,strip.numPixels()):#设置个循环(循环次数为LED数量)

#setPixelColor()函数介绍:设置LED色值(RGB).

#参数1:LED的ID(从0开始,比如第5个LED)

#参数2:RGB色值Color()RGB转Color值,参数依次为R,G,B

#例子:设置第5个LED颜色为红色

#strip.setPixelColor(4,Color(255,0,0))

#该函数不会直接对LED进行修改,可以理解为将修改数据保存到缓存区。

strip.setPixelColor(i,Color(0,0,255))

#提交缓存区的修改数据到WS2812B,以显示效果

strip.show()

time.sleep(0.1)#延迟0.1秒

执行脚本sudopythonws2812b.py#需要管理员权限

#执行完毕后其效果为:

#一共10个LED,除了第5个LED为红色,其他LED全是蓝色

#其源码已经做了很详细的标注。

#注意:写脚本不要把注释写进去,因为不支持中文

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。