Raspberry Pi: Använda 1 ryggsäckar $ I2C LCD för 1602 skärmar & knappar! (3 / 7 steg)
Steg 3: Programvara för LCD
Kontrollera att du har I2C kärna modul laddas med hjälp av:
sudo modprobe dev_i2c
Nu måste du veta vilken I2C buss din Raspberry Pi har tillgängliga på GPIOs:
LS/dev/i2c-*
Det kommer utgång "/ dev/i2c-x", där x är din bussnummer. Nu identifiera kortet med hjälp av kommandot i2cdetect, infoga din bussnummer:
sudo i2cdetect -y bus_number
Den bör Visa I2C kortadressen i tabellen (mer om adresser i "steg 5. Ansluta fler än en ryggsäck till en enda I2C port"kapitel). Om du inte har i2cdetect på din RPi, apt-get paketet i2c-tools.
Upptäcks det? Om ja, bra! Om inte, kontrollera dina anslutningar. Se till att den ryggsäck ombord LED är lysande - det betyder IC drivs.
Här är min Python kod för att köra ryggsäcken. Det fungerar bra och har grundläggande kommandon, och du kan enkelt lägga till dina egna genom att utnyttja den inbyggda Screen.command(lcd_command) funktionen, som bara skickar ett kommando till LCD-skärmen. Varit med denna kod ständigt för ett år nu och det överlevt ett par skärmar.
Ladda ner den från GitHub eller få den bifogade versionen. Om du startar det från kommandoraden som "python pcf8574_lcd.py", det kommer självtest. Om du importerar det från ett annat Python skript, måste den bara en skärm objekt du kan instansiera och använda ut saker. Också, det fungerar med olika adresser, Visa rad/kolumn kombinationer och sådant - justera bara initiering variabler och du kan göra det arbete med 20 x 2, 16 x 4, 16 x 1 och 20 x 4 skärmar. Du kan behöva passera olika addr och buss parametrar om du har olika kortadressen och I2C bussnummer. I så fall använda bussnummer du har hittat tidigare och I2C adress du har hittat i i2cdetect utdata.
En nackdel - du måste köra det som root. Om du måste köra det som icke-privilegierade användare, meddela mig i kommentarerna och jag ska förklara vad som ska göras så att du kan köra det som användare (detta förtjänar en egen Instructable, ärligt).