Go Down

Topic: [RISOLTO] problemi con LiquidCrystal e caratteri speciali (Read 2 times) previous topic - next topic

FedericoC

Sep 28, 2012, 03:37 pm Last Edit: Sep 29, 2012, 04:24 pm by FedericoC Reason: 1
Ciao a tutti :D come da titolo ho qualche problema con la visualizzazione di caratteri speciali e lettere con accento (\, è, é, ò,...).
E' la prima volta che utilizzo un display 16x2 con questa libreria, sapete darmi un mano?

ps: non so se può essere utile, utilizzo 4 bit per la trasmissione dei dati da Arduino al display...

Grazie a tutti :D

leo72

Questi display usano una mappa caratteri che riprende i caratteri ASCII standard, quindi niente lettere accentate o caratteri particolari.

Però i display compatibili HD44780 mettono a disposizione 8 caratteri personalizzabili.
http://arduino.cc/en/Reference/LiquidCrystalCreateChar

uwefed

Alcune lettere acentuate ci sono solo non nello stesso posto come sono nella ASCII. Consulta il datasheet del HD44780.
Ciao Uwe

leo72

A me risultato i caratteri di punteggiatura, le varie parentesi e altri caratteri semigrafici, le lettere maiuscole e minuscole ed i numeri. Di caratteri accentanti non vedo nulla, ci sono solo i caratteri cinesi come mappa alternativa.

Johnny779

Puoi provare a farti un ciclo per stampare tutti i caratteri e relativi codici così poi li associ facilmente, e vedi quali ci sono e quali no.

FedericoC

Ho consultato il datasheet del hd44780 come ha detto Uwe,
http://pdf1.alldatasheet.com/datasheet-pdf/view/63673/HITACHI/HD44780.html
ci sono tutti i caratteri possibili e immaginabili  XD come li posso visualizzare a schermo?

dancol90


ci sono tutti i caratteri possibili e immaginabili  XD come li posso visualizzare a schermo?


Attenzione che ci sono hd44780 con charmap giapponesi e altri con charmap europei: se leggi le pagine 17 e 18 del datasheet puoi vedere che allo stesso codice possono corrispondere due caratteri diversi!
Se il tuo schermo monta un chip con charmap "orientale" allora l'unico modo per avere una lettera accentata è usare un carattere custom.
Per verificare, fai stampare allo schermo il carattere 0xE8: se compare una è allora sei a cavallo, altrimenti hai il chip in versione "sol levante" (ma è poco probabile)!  :)

FedericoC

Ho stampato a schermo il carattere 0xE8 e compare il simbolo di radice quadrata :~ ...

dancol90


Ho stampato a schermo il carattere 0xE8 e compare il simbolo di radice quadrata :~ ...


che è il carattere corrispondente ad E8 nella charmap giapponese  :(
Prova del nove, fagli stampare tutti i caratteri da 16 a 255!

FedericoC

Infatti ho appena trovato questo:
http://www.orientdisplay.com/images/English-Japanese-character-fonts.gif
Descrive al 100% tutti i caratteri visualizzabili da 0 a 255 sul mio display.
Di lettere accentate non c'è nemmeno l'ombra  :( . Se proprio devo usare qualche simbolo che non è presente nella charmap posso usare la funzione createChar() o c'è un modo più veloce?

dancol90


Infatti ho appena trovato questo:
http://www.orientdisplay.com/images/English-Japanese-character-fonts.gif
Descrive al 100% tutti i caratteri visualizzabili da 0 a 255 sul mio display.
Di lettere accentate non c'è nemmeno l'ombra  :( . Se proprio devo usare qualche simbolo che non è presente nella charmap posso usare la funzione createChar() o c'è un modo più veloce?


L'unico modo è usare createChar(), tieni conto però che più di 8 caratteri contemporaneamente non puoi creare.
Puoi aiutarti con questo mio tool: HD44780 Custom Characters Editor

leo72

Non per essere pedante ma avevo: 1) pubblicato per primo quell'immagine; 2) detto per primo di creare i caratteri che ti servivano con createChar
Rivendico la priorità dei suggerimenti  ;)

FedericoC


Non per essere pedante ma avevo: 1) pubblicato per primo quell'immagine; 2) detto per primo di creare i caratteri che ti servivano con createChar
Rivendico la priorità dei suggerimenti  ;)


Hahahahaha Leo hai maledettamente ragione  :D  ho la testa troppo incasinata  ;)

dancol90


Non per essere pedante ma avevo: 1) pubblicato per primo quell'immagine; 2) detto per primo di creare i caratteri che ti servivano con createChar
Rivendico la priorità dei suggerimenti  ;)


Hai pienamente ragione, volevo solo aiutarlo a capire se aveva la charmap giusta, per evitare di dover usare createChar :D
Ma alla fine siamo giunti alla stessa conclusione!

FedericoC



Infatti ho appena trovato questo:
http://www.orientdisplay.com/images/English-Japanese-character-fonts.gif
Descrive al 100% tutti i caratteri visualizzabili da 0 a 255 sul mio display.
Di lettere accentate non c'è nemmeno l'ombra  :( . Se proprio devo usare qualche simbolo che non è presente nella charmap posso usare la funzione createChar() o c'è un modo più veloce?


L'unico modo è usare createChar(), tieni conto però che più di 8 caratteri contemporaneamente non puoi creare.
Puoi aiutarti con questo mio tool: HD44780 Custom Characters Editor


Molto interessante complimenti  :D appena posso lo proverò ;)

Go Up