Moin,
ich habe auch ein I2C-Display Adapter mit dem PCF8574AT.
Die Kontakte für die Adresse sind alle offen (nicht gebrückt).
Da ich diese LCD-Adapter Kombination bisher nur auf dem Arduino benutzt habe bin ich neugierig geworden und
wollte sie mal auf dem Raspi testen.
Meine Vorgehensweise:
* aktuelles Raspbian-Lite 2017-09-07 auf Pizero w installiert
* in raspi-config I2C eingeschaltet
* python-smbus und i2c-tools installiert
sudo apt-get install python-smbus i2c-tools
*zum Testen
eingegeben, Ergebnis:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3f
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Dann
* neues Verzeichnis erstellt und dorthin gewechselt
mkdir hd44780 && cd hd44780
*Dateien runtergeladen
wget http://tutorials-raspberrypi.de/wp-content/uploads/scripts/hd44780_i2c.zip
*"entzipt"
* in lcddriver.py die Adresse in "ADDRESS = 0x3f" geändert.
* mit "nano" eine Datei"2clcd.py" mit folgenden Inhalt erstellt:
import lcddriver
from time import *
lcd = lcddriver.lcd()
lcd.lcd_clear()
lcd.lcd_display_string("Tutorials-", 1)
lcd.lcd_display_string(" RaspberryPi.de", 2)
lcd.lcd_display_string("", 3)
lcd.lcd_display_string("HD44780 I2C Tutorial", 4)
und mit
ausgeführt.
Das wars - funktioniert.
Da mein Display nur 1601 ist wird nur eine Zeile angezeigt. Ich wollte es aber nur kurz am Raspi testen
darum habe ich mich noch nicht weiter damit beschäftigt.
Edit: Hab die Anschlüsse vergessen.
Dabei hab ich festgestellt dass ich (wider besseres Wissen) einen großen Fehler begangen habe.
Die Raspi-GPIOs sind nicht 5V fest. Bei meinen I2C-Display Adapter sind Pullups nach 5V verbaut
so dass an den Raspi GPIOs bei meiner Schaltung 5V liegen.
Man muss deshalb an den Datenleitungen Level-Konverter benutzen.
Zum Glück ist (noch) nichts an meinen Raspi passiert.
Also:ACHTUNG- NICHT NACHMACHEN - Levelkonverter benutzen
Raspi LCD
PIN 3 (BCM 2 / SDA) <> SDA
PIN 4 (5v Power) <> VCC
PIN 5 (BCM 3 / SCL) <> SCL
PIN 6 (Ground) <> GND
Richtig ist:
Raspi LCD
------------------------------------------------------------------
PIN 3 (BCM 2 / SDA) <Level-konverter> SDA
PIN 4 (5v Power) <> VCC
PIN 5 (BCM 3 / SCL) <Level-Konverter> SCL
PIN 6 (Ground) <> GND