如何使用PCF8574 i2c LCD44780背包和adafruit_LCD python代码作为覆盆子pi上的gpio扩展器

时间:2016-05-17 18:22:18

标签: python raspberry-pi gpio i2c hd44780

adafruit库在RPI GPIO或MCP230XX i2C gpio扩展器上提供带python的LCD控制。我想对PCF8574使用相同的想法。 这些都与这些有关: http://www.sainsmart.com/sainsmart-iic-i2c-twi-serial-2004-20x4-lcd-module-shield-for-arduino-uno-mega-r3.html

我用于液晶显示器的Adafruit库是这样的: https://github.com/adafruit/Adafruit_Python_CharLCD

在Adafruit_GPIO中还包含一个用于PCF8574 i2C gpio扩展器的库。 https://github.com/adafruit/Adafruit_Python_GPIO

在示例中,仅使用了MCP230XX,而没有使用PCF8574。

经过几个小时的尝试,我无法使用adafruit代码正常工作。

请注意,我找到了一个正常工作的代码,但是想要使用adafruit代码来获得更好的维护和支持。 工作代码是这样的: https://github.com/goshkis/rpi/blob/master/lcddriver.py

这是我目前的代码:

#!/usr/bin/env python

import time
import Adafruit_CharLCD as LCD
import Adafruit_GPIO.PCF8574 as PCF

# Define PCF pins connected to the LCD.
PCF8574T_addr = 0x27
lcd_rs        = 0
lcd_rw        = 1
lcd_en        = 2
lcd_d4        = 4
lcd_d5        = 5
lcd_d6        = 6
lcd_d7        = 7
lcd_backlight = 3

# Define LCD column and row size for 16x2 LCD.
lcd_columns = 16
lcd_rows    = 2

# Initialize i2C device using its I2C address.
gpio = PCF.PCF8574(PCF8574T_addr, busnum=1)

# Initialize the LCD
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
                           lcd_columns, lcd_rows, lcd_backlight, gpio=gpio)

# Clear display and show greeting, pause 1 sec
lcd.clear()
lcd.set_backlight(True)
lcd.message("Gartenwasser startet...")
time.sleep(1)

你能找到我犯的错误吗?

1 个答案:

答案 0 :(得分:0)

github上Adafruit存储库的分支显示了它是如何工作的: https://github.com/sylvandb/Adafruit_Python_CharLCD

工作示例:

viewDidLoad()