Ho un problema lavorando con un LCD 1602 con modulo Ic2 con PCF8574AT.
Come libreria richiede la: LiquidCrystal.......
Le ho provate un po tutte le possibili in rete, magari anche non usandole correttemente.
Lo dico perche quando non sai esattamente quale usare, le cose si complicano in modo esponenziale.
In Internet, tutti i giorni, c'è il tizio che ne promuove una. Ma quale veramente è la più idonea nel mio caso indipendentemente sia l'ultima promossa?
Vediamo cosa si trova sul sito.
Un elenco delle librerie Zipate con i files letti passando sopra il mouse senza aprirle.
LiquidCrystal_I2C :files in cartella zip 15 3 file non vedenti 20Mb
LiquidCrystal_I2C-1.1.2 :files in cartella zip 10 20Mb
LiquidCrystal_Master :files in cartella zip 16 6 file non vedenti 40Mb
NewliquidCrista_1.3.4 :files in cartella 1044 1028 non vedenti 5.98Mb
LiquidCrystal _I2c :files in cartella 201 188 non vedenti 472Kb
Prima di tutto bisogna usare l'IDE ultima versione e alcune lib che citi sono vecchie.
Poi, da gestione librerie IDE ultimo trovi la lib di marcoschwartz ossia QUESTA come ti aveva già indicato @docdoc
Questa lib però non accetta parametri per indicare come si collegano i pin del chip PFC8574 al display.
Devi avere la connessione chip/connettore display "standard".
Io uso anche questa di fmalpartida https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/
perchè permette di specificare come i pin del chip del modulino si collegano al display. Questo perchè ho un display 20x4 con connettore con disposizione diversa dal solito. Trovare quali parametri passare non è facile. Per il mio display ho trovato questa combinazione:
io ho utilizzato la libreria che trovi in questo link per un LCD 16x4 che ho comprato con modulo I2C e non mi ha mai dato problemi,
spero ti sia utile
buon pomeriggio
Qella che mi proponi l'ho scaricata, penso che ho tutte quelle in circolazione; vecchie e nuove.
Strano, la LiquiCrystal che mi proponi, l'altro giorno l'ho scaticata e, leggendo senza dizipare contiene 16 files e 6 nascosti, quella che ho scaricato oggi: 15 files e 5 nascosti.
Altra cosa, dove vedi la versione?
devo dizipare il pacchetto per avere questi dati?
Mentre nello Sketch ho:
#include <Wire.h> #include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
// Parametri dell LCD
per la undicesima volta riproverò La libreria che ho appena scaricato. Ma, mi sa che è difettosa la scheda.
I parametri che ho scritto vanno bene, no.
Sono quelli della scheda LCD con il convertitore.
Anche ipiedini di ingresso arduino sono i soliti usati A4 e A5.
Grazie
Ringrazio anche Alessandro per la dritta, purtroppo fatico perchè non sono un esperto. Lo uso da poco.
I parametri della fmalpartida e quelli della "standard" di marcoschwarz sono diverse.
MarcoSchwarz
Dichiari l'oggetto con solo 3 parametri, non accetta altro (indirizzo, dimensioni):
LiquidCrystal_I2C lcd(0x27,20,4);
poi nel setup devi usare: lcd.init();
fmalpartida
Dichiari l'oggetto SENZA la dimensione: da 1 parametro (indirizzo) a n parametri (indirizzo+pin)
LiquidCrystal_I2C lcd(0x38); // Set the LCD I2C address
poi nella setup devi usare lcd.begin(20,4); // dimensioni
erosb:
Non mi hai risposto se devo dizipare le librerie per vedere la loro versione.
Librerie non dell'Arduino Team, ma scritte da privati o da ditte come Adafruit.
Di solito dentro c'e' un file README.txt ma appunto il contenuto dipende da chi ha scritto la libreria.
C'e anche di solito un file library.properties con dentro la versione. Esempio:
name=RTClib
version=1.1.0
author=Adafruit
Poi di solito queste librerie sono su github, esempio: url=GitHub - adafruit/RTClib: A fork of Jeelab's fantastic RTC Arduino library
e li di solito trovi info su versione ed esempi.
A corollario: visto che la gran parte dei problemi deriva proprio dal fatto che le librerie, nelle varie versioni, sono tra loro incompatibili o comunque da utilizzare in ambiti specifici (versioni hw), che ne dite di andare su GitHub e di chiedere agli autori delle "varie" LiquidCrystal_I2C di CAMBIARE QUELLO STRACA%%O DI NOME SE CAMBIANO I METODI PUBBLICI???
Tra l'altro essendo cosi lunghi in tabella nel programma librerie non viene visualizzato il nome in modo completo e quindi non si sa cosa carichi.
Per Igor:
Ho provato lo scanner con la scheda in questione . Sorpresa, mi rende un 0x3f che in pratica "dovrebbe "essere in decimale 63. possibile, mi sembra strano il valore che emette scanner.
Mo lo provo
Il programma scanner che mi hai gentilmente passato è stato un grosso aiuto.
Riguardo al valore che rende scanner : 3f non è da convertire in decimale. Mi bagliavo io.
Nel mio caso il valore da inserire è proprio 3f e tutto magicamente, (si fa per dire) si è messo afunzionare.
Sinceramente non ci speravo più, anche perchè fra codici, librerie e Sketch vari di ogni sorta, non si smazzava nemmeno una virgola.
Lo sketch che uso per prova è quello che scrive TEST. il Valore comunque è (0x3f,16,2);
Che dire grazie e alla prossima
Per docdoc , non sono pratico di questi Karma, sarà perchè dopo i 70, diminuisce la comprendogna.
nid69ita:
Moduli I2C non mi fido mai di chi me li vende, verifico sempre l'indirizzo con i2cscanner
Concordo, mi è capitato stesso identico modulo i2c è sono diventato stupido perché uno dei due nonostante identici avevano indirizzi differenti, i2c scanner meglio usarlo sempre, per quanto riguarda la libreria io mi sono trovato bene con "LiquidCrystal I2C by Frank de Brabander Versione 1.1.2" la trovi nel gestore librerie, e per iniziare usare l'esempio Hello World che ti stampa a video qualcosa come YWROBOT, a patto che l'indirizzo sia giusto, funziona sempre.