跳转到主要内容

一个基于sn3218 i2c LED控制器的Pimoroni PiGlow板的驱动模块

项目描述

Piglow

pi glow 是一个用于Raspberry Pi的小型附加板,提供了18个可独立控制的全彩LED灯。

了解更多: https://shop.pimoroni.com/products/piglow

此存储库包含pi glow板的库和示例。

安装

完整安装(推荐)

我们创建了一个非常简单的安装脚本,它将安装所有预置软件并将pi glow板快速安装并运行。在Raspberry Pi桌面上打开终端运行它,您可以在菜单 -> 工具 -> 终端中找到它

Finding the terminal

在新的终端窗口中,通过输入以下命令运行我们的简单安装程序:

curl -sS https://get.pimoroni.com/piglow | bash

如果您选择下载示例,它们将在 /home/pi/Pimoroni/piglow/ 中找到。

Python 3库安装

在Raspbian上

sudo apt-get install python3-piglow

其他环境

sudo pip3 install piglow

Python 2库安装

在Raspbian上

sudo apt-get install python-piglow

其他环境

sudo pip2 install piglow

在任何情况下,您都必须启用i2c总线。

文档 & 支持

向后兼容性

PiGlow Python 库旨在支持为 Jason 的 PiGlow 库编写的示例,这些示例可以在以下位置找到:https://github.com/Boeeerb/PiGlow

它与示例兼容,我们已将一些示例迁移过来,以展示如何实现。

使用 PiGlow

要使用 piglow 库,您可能需要首先导入它

import piglow

现在,您可以打开一些 LED

piglow.red(64)

目前还没有任何动作,您需要更新 PiGlow 以应用更改。为什么?因为这更快!如果您正在设置一个图案,重新绘制 PiGlow 的每一步都需要时间和资源,所以我们不这样做。相反,您需要调用 show,如下所示

piglow.show()

错误是一个无法关闭的功能,但是,如果您想更改该行为,可以在导入 piglow 后进行设置

piglow.auto_update = True

这将打开自动更新,在每次更改后刷新 PiGlow,因此您不必这样做。

函数参考

设置

  • piglow.auto_update - 设置为 True 或 False,确定 PiGlow 是否应在每次 LED 更改后自动更新
  • piglow.clear_on_exit - 设置为 True 或 False,确定 PiGlow 是否在退出时清除

颜色

  • piglow.white(值从 0 到 255 )
  • piglow.blue(值从 0 到 255 )
  • piglow.green(值从 0 到 255 )
  • piglow.yellow(值从 0 到 255 )
  • piglow.orange(值从 0 到 255 )
  • piglow.red(值从 0 到 255 )

臂、辐条、腿,它们都是同一件事!

piglow.arm(索引从 0 到 2,值从 0 到 255 )

以多种不同方式设置多个 LED

set 方法接受 LED 列表、值列表或单个 LED 或值,或任何排列

piglow.set(0, 255) - 将 LED 0 设置为全亮度

piglow.set([1,3,5,7,9,11,13,15,17],255) - 将所有奇数 LED 设置为全亮度

piglow.set(0,[50,50,50]) - 让从索引 0 开始的 3 个 LED 设置为 50 亮度

其他 PiGlow 支持

Gordon Henderson (@drogon 在 Twitter 上) 极好地在他的非常流行的 wiringPi 库中添加了对 PiGlow 的支持,甚至包括一个基本的命令行工具,您可以用来控制您的 PiGlow!http://wiringpi.com/dev-lib/piglow/

Simon Walters (@cymplecy) 为他的 Raspberry Pi GPIO Scratch 库添加了出色的 PiGlow 支持:http://cymplecy.wordpress.com/2013/08/12/scratch-gpio-piglow-support/

Jason Barnett 创建了一个出色的 Python 类和大量示例:https://github.com/Boeeerb/PiGlow

Ben Lebherz 分叉了 Jason 的项目并整理了代码,同时添加了伽玛校正:https://github.com/benleb/PyGlow

Manuel Ernst 创建了一个 Node.js 库:https://github.com/zaphod1984/node-piglow

更多信息

有关更多信息,该仓库中包含 SN3218 IC 的数据表,概述了芯片的完整通信协议。

对于想要以其他方式布线 PiGlow 的用户,以下是模块使用的 GPIO 引脚

  • P1 & P17 (3V3)
  • P2 (5V)
  • P14 (GND)
  • P3 (SDA)
  • P5 (SCL)

特别感谢

特别感谢 Jason Barnett 在他的原始库中传承 PiGlow 之火。1.2.5

  • 改进 docstrings
  • 推迟设置以避免导入时的副作用。PR #17
  • 修复 modulo 问题。PR #21
  • 修复并优化 tweeing。PR #23

1.2.4

  • 添加 version 到模块

1.2.3

  • 从 MANIFEST 中删除对 pimglow.py 的引用
  • 添加 LICENSE.txt

1.2.2

  • 修复 legs.py 以兼容 Python3

1.2.1

  • 调整和整理

1.2.0

  • 提升为稳定版本
  • "set" 现在默认为合理的 LED 排序,包装 "_set"
  • 直接调用 "_set" 以获得旧行为

1.1.0

  • 更新到新的 PiGlow 库
  • 将我的 'led' 方法重命名为 'single'
  • 封装继承的 'set' 函数以自动调用 'update'

1.0.0

  • 初始实验模块

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

piglow-1.2.5.tar.gz (8.2 kB 查看哈希值)

上传时间 源代码

由以下支持