上手树莓派 Pico 案例之NeoPixel【CircuitPython】

495 阅读2分钟

开发环境三选一

  1. MicroPython
  2. The C/C++ SDK
  3. CircuitPython

由于树莓派 Pico 对python的环境支持比较友好,本文选择python作为基础开发环境。 又因为我是偏向硬件玩耍,所以最终采用 CircuitPython 作为基础开发环境

CircuitPython是一种编程语言,旨在简化在低成本微控制器板上进行实验和学习编码的过程。

实战

让我们来点亮一些NeoPixels!

我们可以使用SPI端口来做这个,使用neopixel_spi库提供的黑客。但是u2if固件支持真正的交易。没有必要使用黑客。只要将NeoPixels连接到任何可用的GP引脚,并使用正常的neopixel库。

下面是一个布线的例子。

image.png

这个例子使用一个12环的RGB NeoPixel。对于任何其他设置,只需改变像素的数量和可能的像素顺序。

例子1:通过按键控制LED的开关

import time
import board
import neopixel

COLORS = (
    (255,   0,   0),
    (  0, 255,   0),
    (  0,   0, 255),
    (255, 255,   0),
    (255,   0, 255),
    (  0, 255, 255),
)

pixels = neopixel.NeoPixel(board.GP23, 12)

while True:
    for color in COLORS:
        pixels.fill(color)
        time.sleep(0.5)

附案

library documentation page包含了所有CircuitPython库的分类列表,这些库都包含在以下捆绑包中,并有每个库的文档链接。

下载和安装说明

你可以下载所有可用的库,这些库包含在CircuitPython最近的主要版本的zip文件捆绑包中。这些捆绑文件每天都会更新,只要其中的库有更新。 每个版本的库都是以 .mpy 文件的形式提供的,它是Python源代码的编译版本。确保下载与你的CircuitPython主要版本相匹配的捆绑包,因为 .mpy 文件在不同的版本中会有变化。例如,如果你正在运行7.0.0,你应该下载7.x捆绑包。

预编译的 .mpy 文件比 .py 文件在你的CIRCUITPY硬盘上占用的空间更少。它们的加载速度也更快,这对于一些低内存的板子来说是非常友好的,因为 .py 文件太大,无法在板子上编译。 除非你需要源码版本,否则请选择合适的 .py 库包!如果你需要将 .py 文件编译为 .mpy ,你可以自己运行mpy-cross交叉编译器。

安装,为你的CircuitPython版本下载相应的捆绑包。解压缩文件,打开产生的文件夹,找到lib文件夹。打开lib文件夹,找到你需要加载的库文件。在你的CIRCUITPY驱动器上创建一个lib文件夹。把你需要的各个库文件复制到CIRCUITPY驱动器上的lib文件夹。更多的细节看这里

你可以随时在GitHub上找到最新版本的库捆绑

在你的电路板上下载和更新库的另一种方法是使用CircUp工具,它正在开发中。