Problema con un display I2C 16x2

Salve a tutti! :) mi presento, mi chiamo Nicodemo, come ben potete presumere dal mio username. :D Sono nuovo nel forum e volevo chiedere cortesemente il vostro aiuto riguardo un Display lcd I2C 16x2. Allora: ho acquistato questo lcd da internet. Non appena giunto nelle mie mani, l'ho subito collaudato caricando sul mio Arduino Uno il programma "hello world" (indirizzo 0x20). Ho reallizzato il circuito collegando SCL ed SDA dell'LCD ai rispettivi SCL ed SDA di Arduino. Il problema? Sul display non compare nessuna scritta, si accende la retroilluminazione, ma ribadisco nessuna scritta, nessuna lettera. Il display è nuovissimo. Ho dato il display ad un mio amico che ne capisce molto più di me, e ha trovato il problema nell'indirizzo del display, il quale, facendo lo scanning, non era 0x20 ma era, e dovrebbe essere, 0x3F. Il display con lui ha funzionato. Il problema sembra risolto! Purtroppo, quando me l'ha ritornato, ho provato nuovamente a caricargli il programma di "Hello World" mettendo come indirizzo 0x3F. MA NULLA! Nessun tipo di scritta appare sull'LCD. Per favore aiutatemi :( ho molto bisogno di quel display per progetto che vorrei realizzare. Grazie per la vostra cortesia, e soprattutto grazie per la pazienza di aver letto questo papello :D Un saluto a tutti!! aspetto risposte....

Hai regolato il contrasto?

Leggi la sigla del'integrato sul display: dovrebbe essere PCF8574 oppure PCF8574A.

Controlla anche se i tre jumper di indirizzo sulla scheda sono chiusi o aperti (dovrebbero essere denominati A0, A1 ed A2).

Se hai dei dubbi, fai una foto.

SukkoPera: Hai regolato il contrasto?

Si, il contrasto l'ho regolato. Funziona ma non succede nulla lo stesso, ovvero non scrive nulla

cyberhs:
Leggi la sigla del’integrato sul display: dovrebbe essere PCF8574 oppure PCF8574A.

Controlla anche se i tre jumper di indirizzo sulla scheda sono chiusi o aperti (dovrebbero essere denominati A0, A1 ed A2).

Se hai dei dubbi, fai una foto.

L’integrato si chiama: PCF8574AT
Mentre i jumper sono denominati come hai detto tu, ovvero A0, A1 e A2. A me sembrano chiusi, magari fra poco ti mando una foto

grazie :slight_smile:

Il PCF8574A ha un indirizzo da 0x38 a 0x3F ed i jumper sull'interfaccia del display sono tutti aperti, quindi l'indirizzo è 0x3F, come ha anche indicato il tuo amico.

Perché il bus I2C lavori correttamente, occorre siano inseriti dei resistori di pullup da 4.7k sulle linee SDA ed SCL ed anche questi sembrano essere presenti sull'interfaccia del display.

Quindi dovrebbe funzionare tutto.

Non rimane che controllare la compatibilità della libreria: cosa usi?

cyberhs: Il PCF8574A ha un indirizzo da 0x38 a 0x3F ed i jumper sull'interfaccia del display sono tutti aperti, quindi l'indirizzo è 0x3F, come ha anche indicato il tuo amico.

Perché il bus I2C lavori correttamente, occorre siano inseriti dei resistori di pullup da 4.7k sulle linee SDA ed SCL ed anche questi sembrano essere presenti sull'interfaccia del display.

Quindi dovrebbe funzionare tutto.

Non rimane che controllare la compatibilità della libreria: cosa usi?

La libreria é "LiquidCrystal_I2C". Vuoi magari un file zip per controllare tu stesso la compatibilità?

La libreria in questione potrebbe non funzionare con alcune interfacce I2C (dipende dai collegamenti e dalla versione).

In giro c'è un po' di confusione: ti suggerisco la lettura di questo link che ti chiarirà le idee.

http://arduino-info.wikispaces.com/LCD-Blue-I2C

Se poi non riesci, ti consiglio la libreria del buon Testato PCF8574_HD44780_I2C.

Ho appena risolto lo stesso problema col suggerimento sopra indicato utilizzando la libreria PCF8574_HD44780_I2C. e l'indirizzo 0x3F, ma per il tuo potrebbe anche essere 0x27F,0x20,0x38. Spero tu riesca a trovare la soluzione. Ciao.

Buone notizie! :D Ho risolto il problema, il quale era molto ma molto banale. Fu un errore mio. Vi spiego: Disinstallando e reinstallando Arduino, ho notato che in "importa libreria" era sempre presente una libreria "LiquidCrystal_I2C" che alla cartella "libraries" di Arduino risultava inesistente. Sono andato a ricercare questo file quindi, che si trovava in una cartella sperduta del PC. Eliminando quel file e installando una libreria esatta il display ha funzionato correttamente. Perdonate la mia ignoranza, ma uso Arduino da poco più di un mese, quindi posso ritenermi un apprendista o principiante. Vi ringrazio comunque per il vostro aiuto e la vostra cortesia :D Ciao a tutti! ;)