lcd i2c con pcf8574a - pcf8574ap

Buongiorno a tutti,

scrivo a causa di una anomalia riscontrata oggi.

Ho realizzato su breadboard un piccolo circuito di prova così composto:
ArduinoUNO r3, dai pin A4 e A5 mi collego ad un PCF8547A il quale pilota un display lcd 16x2

con scarso successo ho provato molte librerie, fino a giungere a questa http://forum.arduino.cc/index.php?topic=242423.0 ...fondamentalmente sul display non viene stampato nulla.

Ecco le prove che ho fatto:

  • provato a sostituire il PCF8574A con vari modelli tra cui PCF8574AP
  • sempre fatto una scansione degli indirizzi i2c (quindi assegnavo indirizzo corretto a seconda dell'integrato utilizzato)
  • sostituito lcd con uno più recente 20x4

in tutte le combinazioni non viene mostrato nulla. Che siano (fatalità) tutti i 3 PCF che ho testato ad essere andati?
cosa mi consigliate di fare?

Naturalmente le pull-up del I2C le hai messe vero ? ? ?

Guglielmo

Yes, le resistenze di pullup sono presenti (non capisco come mai nessuno le inserisce negli schemi su google immagini).

Ad ogni modo dopo infiniti tentativi sono riuscito a far funzionare il sistema con questa https://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/ libreria...

Ora però ho un altro dubbio: perché le altre librerie, compresa quella presente sul sito ufficiale, non funzionano?

Dipende da come colleghi il PCFxxxx al'LCD,
Probabilmente hai usato questo collegamento

che va' con la liberia che citi.
Ma quasi tutte le libreire usano quest'altro tipo di collegamento


Comunque nella dichiarazione delle librerie puoi anche assegnare i pin a cui sono collegati i vari segnali

Ad esempio con la NewLiquidCrystal

//Set the pins on the I2C chip used for LCD connections:


//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol


LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
// questo e' il settagio per il secondo esempio di collegamento