[RISOLTO] problemi con LiquidCrystal e caratteri speciali

Ciao a tutti :smiley: 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 :smiley:

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.

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

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.

1 Like

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.

Ho consultato il datasheet del hd44780 come ha detto Uwe,

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

FedericoC:
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)! :slight_smile:

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

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

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

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 :frowning: . Se proprio devo usare qualche simbolo che non è presente nella charmap posso usare la funzione createChar() o c'è un modo più veloce?

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 :frowning: . 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

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 :wink:

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 :wink:

Hahahahaha Leo hai maledettamente ragione :smiley: ho la testa troppo incasinata :wink:

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 :wink:

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

dancol90:

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 :frowning: . 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 :smiley: appena posso lo proverò :wink:

Se c'è spazio sul display (quando mai :)) di solito metto l'apostrofo " ' " dopo la lettera da accentare, non è un metodo superprofessionale ma rende ugualmente l'idea.

Pelletta:
Se c'è spazio sul display (quando mai :)) di solito metto l'apostrofo " ' " dopo la lettera da accentare, non è un metodo superprofessionale ma rende ugualmente l'idea.

Faccio così sin dai tempi del Commodore :wink:

Faccio così sin dai tempi del Commodore

anche perche' non c'erano i caratteri accentati

brunello:

Faccio così sin dai tempi del Commodore

anche perche' non c'erano i caratteri accentati

Appunto :stuck_out_tongue_closed_eyes:

Pelletta:
Se c'è spazio sul display (quando mai :)) di solito metto l'apostrofo " ' " dopo la lettera da accentare, non è un metodo superprofessionale ma rende ugualmente l'idea.

L'apostrofo come accento è un classico :grin: però come hai detto te è tutta questione di spazio :slight_smile: