如何使用带有 adafruit_LCD python 代码的 PCF8574 i2c LCD44780 背包作为 raspberry pi 上的 gpio 扩展器
How to use the PCF8574 i2c LCD44780 backpack with adafruit_LCD python code as gpio extender on a raspberry pi
adafruit 库通过 python 在 RPI GPIO 或 MCP230XX i2C gpio 扩展器上提供 LCD 控制。我想对 PCF8574 使用相同的想法。
这都是关于这些事情的:
http://www.sainsmart.com/sainsmart-iic-i2c-twi-serial-2004-20x4-lcd-module-shield-for-arduino-uno-mega-r3.html
我用于 LCD 的 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)
你能找出我犯的那个错误吗?
github 上 Adafruit 存储库的分支显示了它的工作原理:
https://github.com/sylvandb/Adafruit_Python_CharLCD
工作示例:
import PCF_CharLCD as LCD
lcd = LCD.PCF_CharLCD(0, address=0x27, busnum=1, cols=16, lines=2)
adafruit 库通过 python 在 RPI GPIO 或 MCP230XX i2C gpio 扩展器上提供 LCD 控制。我想对 PCF8574 使用相同的想法。 这都是关于这些事情的: http://www.sainsmart.com/sainsmart-iic-i2c-twi-serial-2004-20x4-lcd-module-shield-for-arduino-uno-mega-r3.html
我用于 LCD 的 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)
你能找出我犯的那个错误吗?
github 上 Adafruit 存储库的分支显示了它的工作原理: https://github.com/sylvandb/Adafruit_Python_CharLCD
工作示例:
import PCF_CharLCD as LCD
lcd = LCD.PCF_CharLCD(0, address=0x27, busnum=1, cols=16, lines=2)