基于Pico和MicroPython点亮ws2812彩色灯带

基于Pico和MicroPython点亮ws2812彩色灯带

Introduction

点亮发光的LED灯是简单有趣的实验,点亮多个ws2812小灯串联起来的灯带,可对多个彩色小灯进行编程,从而实现各种有趣的显示效果。多个ws2812使用串联的方式级联在一起,微控制器以发出长短脉冲的序列控制彩色小灯显示的颜色和亮度。

此处略过控制ws2812发光的原理和控制方法,直接动手实验,讲述基于Pico电路板和MicroPython点亮ws2812彩色灯带的学习、调试和操作过程。调试过程中,使用了来自电子森林的Step-Pico电路板,同树莓派官方的RPI Pico电路板兼容,但换用了Type-C插座、新增了复位按键,以及4个ws2812彩灯级联起来的灯带,实际使用起来更加方便。

在这里插入图片描述

Step Pico上连接ws2812彩灯部分的原理图

Practice

在网上搜索到比较靠谱的关于使用MicroPython点亮ws2812彩灯的资料,大多来自于github上的micropythno-ws2812项目:

  • https://github.com/JanBednarik/micropython-ws2812

对于访问github不便的开发者,笔者在国内的gitee开源代码站点上做了个镜像(https://gitee.com/suyong_yq/micropython-ws2812),方便获取源码。如图x所示。

在这里插入图片描述

图x 在开源站点上的micropython-ws2812项目

这个项目基于早期使用STM32微控制器的pyb电路板开发,估计也能兼容Pico板子上的MicroPython,其中提供了一些有趣的用例。按照说明,开发者需要先将ws2812.py文件导入到MicroPython中,此处导入到Pico板子上的/lib目录下。如图x所示。

在这里插入图片描述

图x 导入ws2812b.py到Pico上的MicroPython

然后,运行代码仓库提供的用例:

from ws2812 import WS2812

ring = WS2812(spi_bus=1, led_count=4)

data = [
    (24, 0, 0),
    (0, 24, 0),
    (0, 0, 24),
    (0, 0, 0),
]

ring
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值