2016-05-17 2 views
0

Die Adafruit-Bibliothek bietet LCD-Steuerung mit Python auf RPI GPIO oder über MCP230XX i2C GPIO Expander. Ich möchte die gleiche Idee für den PCF8574 verwenden. Es ist alles über diese Dinge: http://www.sainsmart.com/sainsmart-iic-i2c-twi-serial-2004-20x4-lcd-module-shield-for-arduino-uno-mega-r3.htmlWie man den PCF8574 i2c LCD44780 Rucksack mit adafruit_LCD Python-Code als gpio Extender auf einem Raspberry Pi

Die Adafruit Bibliothek i für die LCD verwenden ist diese: https://github.com/adafruit/Adafruit_Python_CharLCD

In Adafruit_GPIO ist auch eine Bibliothek für die PCF8574 i2C GPIO Expander enthalten. https://github.com/adafruit/Adafruit_Python_GPIO

In den Beispielen wird nur der MCP230XX, nicht aber der PCF8574 verwendet.

Nach stundenlangem Versuch, bekomme ich das Ding nicht richtig mit dem Adafruit-Code zu arbeiten.

Beachten Sie, dass ich einen funktionierenden Code gefunden habe, aber stattdessen den Adafruit-Code für bessere Wartung und Unterstützung verwenden möchte. Der Arbeitscode ist dieses: https://github.com/goshkis/rpi/blob/master/lcddriver.py

Hier ist meine aktuellen Code:

#!/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) 

Können Sie das Fehler finde ich machen?

Antwort

0

Die Gabel des Adafruit Repository auf GitHub zeigt, wie es funktioniert: https://github.com/sylvandb/Adafruit_Python_CharLCD

Arbeitsbeispiel:

import PCF_CharLCD as LCD 
lcd = LCD.PCF_CharLCD(0, address=0x27, busnum=1, cols=16, lines=2) 
+0

Die "Linien" Parameter "Zeilen" in der Gabel, sondern "Linien" in der Original Adafruit CharLCD, das ich benutze. Wenn Sie das CharLCD von der Verzweigung verwenden möchten, verwenden Sie stattdessen "Zeilen". –