广泛使用的日立HD44780控制器的树莓PI LCD库。

RPLCD的Python项目详细描述


Join the chat at https://gitter.im/RPLCD/LobbyBuild StatusPyPI VersionPyPI WheelPyPI Python VersionsDependenciesLicense

日立HD44780的Python3/2覆盆子PI字符LCD库 控制器。它既支持GPIO(并行)模式,也支持I?C板 端口扩展器(例如PCF8574或MCP23008)。

这个图书馆的灵感来源于Adafruit Industries的CharLCD图书馆以及 Arduino的LiquidCrystal库。

对于gpio模式,没有外部依赖项(除了RPi.GPIO库 需要预先安装在raspbian上才能使用此库。如果你想的话 通过i~c控制lcd,那么您还需要python-smbussmbus2库。如果你 要使用pigpio控制LCD,必须安装pigpio库。

如果你想开始使用rplcd,你应该read the docs:)

Photo of 20x4 LCD in action

设置

可以使用pip从PyPI直接安装rplcd:

$ sudo pip install RPLCD

如果您想使用iC,还需要smbus或smbus2库:

$ sudo apt install python-smbus
or
$ sudo pip install smbus2

rplcd将首先尝试使用smbus(如果可用),如果不可用,则返回smbus2。

也可以在不使用pip的情况下手动安装库。要么直接复制 脚本到工作目录并导入它们,或者下载存储库 运行python setup.py install将其安装到python包中 目录。

功能

实施

  • 简单易用的API
  • 支持4位和8位模式
  • 支持并行(GPIO)和I?C连接
  • 支持自定义字符
  • 支持背光控制电路
  • 内置支持a00a02字符表
  • python 2/3兼容
  • 缓存:仅当字符更改时才写入字符
  • 没有外部依赖关系(除了rpi.gpiopython smbussmbus2之外,如果需要的话 空调支架)

愿望列表

这些事情可能会在未来实现,这取决于我的空闲时间和 动机:

  • micropython端口

支持的I?C端口扩展器

  • PCF8574(供Ali Express上的许多I?C LCD适配器使用)
  • MCP23008(用于Adafruit i?c LCD背包)
  • MCP23017

文档

测试

交互式测试脚本

要测试LCD,请使用^{tt7}运行rplcd-tests脚本$ 目标。

单元测试

也有单元测试。首先,安装依赖项:

pip install -U -r requirements-dev.txt

然后运行测试:

py.test -v

编码指南

PEP8通过flake8并将max-line-width设置为99和 E126-E128,C901忽略:

flake8 --max-line-length=99 --ignore=E126,E127,E128,C901 RPLCD/lcd.py

许可证

此代码是在mit许可下授权的,有关详细信息,请参见LICENSE filetldrlegal

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java构造函数SimpleCommandBus()不可见   Java字符串和返回   java不能在类中使用上下文?   使用Java为SOAP定制DataHandler   java“访问被拒绝”在编译servlet时   java嵌入Jetty,在给定时间后终止请求   java如何使用预先指定的URL限制AWS S3 bucket中对象的上传大小?   java理解Azure文件存储:未知hostException   java将对象作为参数传递是否会产生与将其存储在字段中相同级别的耦合?   https告诉java客户端代码接受自签名证书   Java中的简单*权威DNS服务器*   Java解压缩字节数组错误数据检查   当我用SpringDoc和接口描述API规范时,java Spring控制器验证似乎不起作用   在Java中使用PHash(OpenCV)   Kotlin中的java简单继承示例   java Infinispan:ISPN004016:服务器不再位于群集中(127.0.0.1:11222),正在从池中删除   2行滑动菜单安卓本机JAVA   使用日期选择器时Android Studio中的java 4错误   java在<之间删除内容!和/>