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

本文介绍了如何使用树莓派通过Python控制WS2812B LED灯带,包括线路图解析、接线方法以及安装和运行脚本的步骤。示例代码展示了如何设置不同颜色的LED并显示效果。
AI助手已提取文章相关产品:

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

WS2812B线路图

VSS零线(地线)

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

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

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

WS2812B灯带线路图

WS2812B接线方法

安装插件sudo apt-get install python-pip

sudo pip install rpi_ws281x

编写脚本ws2812b.pyimport time

import random

from rpi_ws281x import Adafruit_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数量

for i in range(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秒

执行脚本sudo python ws2812b.py    #需要管理员权限

# 执行完毕后其效果为:

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

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

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

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值