LCD non visualizza nulla

Un ringraziamento a uwefed per avermi risposto.
Ho un problema comune a molti, ma che continuo a non risolvere.
Ho collegato un LCD 16x2 compatibile HD44780 alla mia arduino mega 2560 e
malgrado il display si illumina, il contrasto funzioni bene non visualizzo nessun messaggio.
Ho controllato e ricontrollato i collegamenti ma niente da fare continua a non visualizzare.
Ho cercato sul forum soluzioni ma con me non funzionano, non so più cosa fare.
Potete aiutarmi?
Vi ringrazio anticipatamente
Saluti icarocnc.

hello Word.pdf (32.8 KB)

Modello LCD acquistato presso negozio di componenti elettronici a Torino

Guardando lo schema, il datasheet e le foto non vedo errori. Controlla se tutti i cavetti fanno bene contatto. http://www.mikrocontroller.net/attachment/94863/WH1602B-TMI-JT__selbstgesucht_.pdf

Prova di aggiungere un delay per dare al controller del display tempo di terminare l' inizializzazione.

lcd.begin(16, 2);
delay(500);
// Print a message to the LCD.
lcd.print("hello, world!");

Ciao Uwe

Grazie per l'interessamento. E' il secondo LCD che compro e tutti e due lo stesso problema. Proverò a ripassare le saldature.

Magari i collegamenti saranno anche corretti ma io ti consiglierei di toglierli e rifarli daccapo(tanto non costa nulla), inoltre se hai un tester(e spero che tu ce l'abbia) prova a controllare pin per pin i collegamenti effettuati, potrebbe tranquillamente essere la breadboard con dei falsi contatti! Che soluzioni hai già provato?

Spesso dipende anche dall'alimentazione.... come lo alimenti?

Invia anche il codice che usi, alle volte...

Il codice l'ho già inviato è il file in pdf. Il problema si presenta con le due alimentazioni sia usb che alimentatore esterno da 12 V. Aggiungendo queste righe al programma

lcd.home();
set the cursor to column 0, line 1
lcd.setCursor(0, 1);
 // (note: line 1 is the second row, since counting begins with 0):
lcd.print(millis()/1000);  
// print the number of seconds since reset:
lcd.noDisplay();
delay(500);
lcd.display();
lcd.clear();

e ruotando il potenziometro del contrasto ad un certo punto si vede sul display fare il refresh e basta. per lo meno da arduino qualcosa arriva. Ho controllato con il tester, c'è continuità sulla piastra e presenza di tensione su i contatti. ? i 4 pin ( 5,4,3,2 ) sono i DATA in codice ottale o quale ?

icarocnc: ? i 4 pin ( 5,4,3,2 ) sono i DATA in codice ottale o quale ?

No, i 8 Bit vengono trasmessi a 4 bit in 2 momenti consecutivi. Ciao Uwe

se fai di seguito

lcd.display();
lcd.clear();

mostri e cancelli subito dopo!

togli lcd.clear();

elimina anche quei

lcd.home();
lcd.noDisplay();
lcd.display();

e porta il delay a 1000

Dopo parliamo di alimentazione...

paulus1969: se fai di seguito

lcd.display();
lcd.clear();

mostri e cancelli subito dopo!

togli lcd.clear();

elimina anche quei

lcd.home();
lcd.noDisplay();
lcd.display();

e porta il delay a 1000

Dopo parliamo di alimentazione...

Scusa queste righe le ho aggiunte dalla disperazione! Il problema c'è l'ho dall'inizio cioè dal codice base quello che mi stai suggerendo.

Mentre sto scrivendo mi è venuta un'idea adesso provo.

OK funziona.
Bravo MasterPI l’idea me l’hai suggerita tu.
Ho sostituito i fili di collegamento morbidi con quelli rigidi che non hanno lo spinottino
e adesso sto caspita funziona.
maledetti non fanno ben contatto.
Grazie a tutti!
Ognuno di Voi ha contribuito a farmi riflettere.

Saluti e al prossimo problema.

icarocnc: OK funziona. Bravo MasterPI l'idea me l'hai suggerita tu. Ho sostituito i fili di collegamento morbidi con quelli rigidi che non hanno lo spinottino e adesso sto caspita funziona. maledetti non fanno ben contatto. Grazie a tutti! Ognuno di Voi ha contribuito a farmi riflettere.

Saluti e al prossimo problema.

Son contento :) i fili rigidi sono i migliori, ormai uso solo quelli! purtroppo la breadboard ogni tanto ci fa fessi con il problema dei fili, a me capitò la stessa cosa un anno fa circa quando caricai per la prima volta il bootloader sull'atmega standalone; provai di tutto, e alla fine il problema era un filo che non faceva contatto, non puoi capire come ci rimasi male xD