Display EW20400YMY

Buonasera a tutti.
Sono nuovo del forum e spero vogliate perdonarmi se scrivo qualche stupidata.

Sono alle prese con l'interfacciamento di Arduino UNO R3 con un display 20 x 4 siglato EW20400YMY.

  • Arduino e il display sono alimentati tramite il cavo di programmazione USB e non sembrerebbero esserci problemi di cali di tensione. ( ho messo un LED e una resistenza da 220 Ohm tra il + e il - per controllare se la scheda è alimentata).
    Naturalmente non ho collegato il LED per la retroilluminazione.
  • Il contrasto è stato realizzato con un trimmer da 10Kohm collegato tra +5Vcc e massa. Il centrale si collega al pin 3 del display.
  • La connessione realizzata è http://arduino.cc/en/uploads/Tutorial/LCD_bb.png
  • Dal datasheet www.acds.fr/pdf_produits/EW20400YMY.pdf sembrerebbe uguale al HD44780 ma non funziona.
  • Gli sketch caricati sono tutti quelli della libreria LiquidCrystal contenuta nell'IDE 1.0.5

Mi spiego meglio :
Il display rimane esattamente come se non fosse collegato a nulla. Anche regolando il contrasto agli estremi, non fa nulla.
Ho provato a ricollegare il display dal pezzo dove lo avevo smontato, e funziona correttamente.

Che cosa posso controllare??

Grazie mille a tutti.

FabrizioRossi:
Naturalmente non ho collegato il LED per la retroilluminazione.

Emmm ... credo che senza la retroilluminazione tu non riesca a vedere assolutamente nulla ... :roll_eyes:

Prova ad alimentarlo :wink:

Guglielmo

Buongiorno.
I due pin siglati VLED e VLSS sono utilizzati solamente per accendere un LED posto alla destra del display che ha il compito di illuminarlo.

L'alimentazione al display e all'elettronica, viene presa tramite i PIN VDD (+) e VSS(-) rispettivamente PIN 2 e 1 del mio display.
Il centro del trimmer viene utilizzato per regolare il contrasto ed è collegato al PIN VO del display PIN 3.

Se non sbaglio, ruotando il trimmer, dovrei vedere schiarirsi o scurirsi il display anche senza inviare nessun comando, ma questo non succede.

Distinti saluti
Fabrizio

Col datasheet in mano (pagina 10 del pdf) controlla i collegamenti tra Arduino e l'LCD.
Ricordati che i pin sull'LCD devono essere saldati e se usi un breadboard controlla che non ci siano falsi contatti.
L'inizializzazione dell'LCD tramite la libreria integrata nell'IDE è

LiquidCrystal lcd(rs, enable, d4, d5, d6, d7)

dovrai accertarti della corrispondenza dei pin di Arduino con i nomi dei pin dell'LCD del datasheet.
Ricorda che RW va a GND.

FabrizioRossi:
I due pin siglati VLED e VLSS sono utilizzati solamente per accendere un LED posto alla destra del display che ha il compito di illuminarlo.

... e tu hai provato a farlo seguendo quanto indicato nel datasheet a pag. 7 (indicata in alto a destra nel datasheet) ???

Guglielmo

Buongiorno.

Guglielmo, provo questa sera ad alimentare il led con con alimentatore esterno collegando insieme le due masse .

PaoloP, la corrispondenza dei piedini sembra corretta, però non ho saldato i fili. ho usato una semplice breadboard con dei fili che la collegano ad Arduino. Questa sera provo a comperare i pezzi per saldare i connettori sui fili e fare delle connessioni più stabili.
Nel frattempo ordino per la prossima settimana un display con il controller HD44780 per fare delle prove.

Grazie mille

Fabrizio

FabrizioRossi:
... però non ho saldato i fili. ho usato una semplice breadboard con dei fili che la collegano ad Arduino. Questa sera provo a comperare i pezzi per saldare i connettori sui fili e fare delle connessioni più stabili.

... se guardi qui sul forum scoprirai che, purtroppo, quel tipo di connessione è la causa del 90% dei problemi ... i cavetti volanti infilati nei buchi del display fanno un pessimo contatto !

Del resto i buchi del display NON sono fatti i fili da breadboard, ma per saldarci i connettori a pettine :wink:

Guglielmo

Buongiorno.

I connettori a pettine sono già inseriti sul display.
Io ho usato dei fili volanti per collegare Arduino alla breadbord, nella quale è infilato il connettore a 16 PIN del display.

Questa sera, compero i connettori femmina da collegare sia lato Arduino sia lato display e li collego con i fili richiesti per il funzionamento.
Se fosse un problema dicontatti, così dovrei risolvere il problema. (Speriamo)

Grazie mille

Fabrizio

FabrizioRossi:
I connettori a pettine sono già inseriti sul display.
Io ho usato dei fili volanti per collegare Arduino alla breadbord, nella quale è infilato il connettore a 16 PIN del display.

Mmm ... già un altro discorso ... il collegamento tra breadboard e Arduino con gli appositi cavetti, normalmente è abbastanza affidabile (... e sottolineo abbastanza dato che, comunque, mi sono già capitati falsi contatti) ... verifica e verifica pure la questione della retroilluminazione :wink:

Guglielmo

Stai usando dei cavetti tipo questi

o dei semplice filo elettrico?
Nel caso è meglio quello semi-rigido.

Buonasera.
Per eliminare tutti i possibili problemi di falsi contatti, ho preparato dei cavetti come quelli indicati da PaoloP utilizzando i PIN saldati ai due capi dei fili.

Purtroppo non è cambiato nulla. Non funziona :frowning:

Avete altre idee??

Distinti saluti
Fabrizio

Riesci a fare una foto ... nitida .. del tutto ed a postarla (... non serve che sia gigante, l'importante è che si nitida e si distinguano bene i collegamenti) ? Almeno diamo un'occhiata anche noi al tutto :wink:

Guglielmo

Nessun Problema. Rifaccio le connessione con cavetti colorati per distinguerli meglio.
Però dovrò aspettare sabato. Domani vado via per 2 giorni per lavoro.

Grazie mille.
Fabrizio

Buonasera a tutti

Ho modificato i collegamenti.
Ho messo i connettori su una basetta multifori, ho saldato i connettori per il collegamento con Arduino 1 e con il display.
Purtroppo continua a non funzionare

Allego i link alle foto

http://imageshack.com/a/img440/5629/6upa.jpg
http://imageshack.com/a/img266/4033/5vez.jpg
http://imageshack.com/a/img36/3439/55mo.jpg

Nel frattempo, ho ordinato un display 16x2 con il driver HD44780. Dovrò aspettare almeno 10 giorni per riceverlo
:frowning:
Spero di risolvere prima con quelli che ho a mia disposizione.

Fabrizio

Buonasera a tutti.
Finalmente mi è arrivato il display 16x2 con il driver HD44780.
Con mia notevole sorpresa, non riesco a farli funzionare. Stesso problema dei miei altri display. Non si vede nulla.
Visto che i collegamenti sono giusti e sono saldati, ho abilitato tutti i messaggi durante la compilazione dello sketch "hello world" allegato alla IDE 1.0.5 e ho visto in rosso i seguenti messaggi :

C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\HardwareSerial.cpp: In function 'void store_char(unsigned char, ring_buffer*)':
C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\HardwareSerial.cpp:98: warning: comparison between signed and unsigned integer expressions
C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\HardwareSerial.cpp: In function 'void __vector_18()':
C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\HardwareSerial.cpp:127: warning: unused variable 'c'
C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\HardwareSerial.cpp: In member function 'void HardwareSerial::begin(long unsigned int, byte)':
C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\HardwareSerial.cpp:368: warning: unused variable 'current_config'
C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\HardwareSerial.cpp: In member function 'virtual size_t HardwareSerial::write(uint8_t)':
C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\HardwareSerial.cpp:467: warning: comparison between signed and unsigned integer expressions

C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\Print.cpp: In member function 'size_t Print::print(const __FlashStringHelper*)':
C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\Print.cpp:44: warning: '__progmem__' attribute ignored

C:\Users\griso\Documents\arduino-1.0.5-windows\arduino-1.0.5\hardware\arduino\cores\arduino\Tone.cpp:119: warning: only initialized variables can be placed into program memory area

Posso influenzare il malfunzionamento?

Grazie mille a tutti

Direi proprio di si...
Sono tutti messaggi che provengono dalle librerie arduino.
Posta il programma...

Sono warning, cioè errori che non bloccano la compilazione. Dovresti in fondo avere la dimensione finale dello sketch, giusto?
Se il compilatore te la mette, significa che lo sketch comunque è compilato.

Con mia notevole sorpresa, non riesco a farli funzionare.

Che significa? Che problemi hai?

Buongiorno.
Si, alla fine metteva la dimensione del file.
Il problema è che non funzionavano i programmi di esempio della libreria Liquidcrystal.
Adesso ho riprovato e non mi è apparso nessun errore o warning e sul display appaiono le scritte correttamente.
Prima, con quegli errori, non appariva nulla.

Grazie mille a tutti.

Ora riprovo col display che avevo (EW20400YMY)

FabrizioRossi:
Adesso ho riprovato e non mi è apparso nessun errore o warning e sul display appaiono le scritte correttamente.
Prima, con quegli errori, non appariva nulla.

Non è che avevi ad esempio scelto la board sbagliata per la compilazione?

Purtroppo no.
La board è sempre la stessa. Uso sempre lo stesso arduino Uno R3.
L'unica possibile differenza stà nel fatto che nel frattempo ho fatto fare una scansione del PC a spybot search & destroy e ha sistemato un po di cose. Dopo di che si è messo a funzionare il display.
Mi sorge il dubbio di qualche problema nel trovare le librerie giuste.
Comunque, col display con il driver HD44780 che ho comperato, ora funziona tutto.
Con il display in oggetto, no.
Forse non usa lo stesso driver. Proverò a confrontare i due datasheet.

Grazie mille