一个基于sn3218 i2c LED控制器的Pimoroni PiGlow板的驱动模块
项目描述
pi glow 是一个用于Raspberry Pi的小型附加板,提供了18个可独立控制的全彩LED灯。
了解更多: https://shop.pimoroni.com/products/piglow
此存储库包含pi glow板的库和示例。
安装
完整安装(推荐)
我们创建了一个非常简单的安装脚本,它将安装所有预置软件并将pi glow板快速安装并运行。在Raspberry Pi桌面上打开终端运行它,您可以在菜单 -> 工具 -> 终端中找到它
在新的终端窗口中,通过输入以下命令运行我们的简单安装程序:
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总线。
文档 & 支持
- pi glow GPIO引脚图 - https://pinout.xyz/pinout/piglow
- 功能参考 - http://docs.pimoroni.com/piglow/
- 获取帮助 - http://forums.pimoroni.com/c/support
向后兼容性
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 74b1a291b9dfb70445c56d49052becc0aed60800fc3050b3aff8bdaf683dfb89 |
|
MD5 | 9eddc50eb4e3f27ec0997553ff351752 |
|
BLAKE2b-256 | d8e1af143f86c8042692df07b71535f3c30c1408666a505d5861bca217c1ed5b |