Ciao a tutti, oggi vi propongo questo tutorial molto interessante e divertente per chi, come me, è un appassionato del display lcd 🙂 . Ovvero vi mostrerò come realizzare dei caratteri personalizzati da stampare sul display lcd. Innanzitutto se non sapete come collegare un display ad Arduino vi consiglio di leggere QUESTO articolo, altrimenti non capirete i passaggi successivi.

Come sapete ogni carattere stampato sul display è formato da 5×8 pixel accesi o spenti (1, 0) in modo da creare il carattere voluto. Prima di tutto bisogna procurarsi questa griglia formata da 5 colonne e 8 righe , ovvero le dimensioni del font.

tabella_punti_lcd

A questo punto bisogna riempire i quadrati, ovvero i pixel accesi, in modo da creare il carattere voluto.

Analizzando la griglia come notate la prima riga è vuota per cui il valore di questa è uguale a zero. Mentre nella seconda riga sono stati riempiti i pixel in colonna 1 e 3. Con la codifica binaria dovrete perciò fare (2 ^1 + 2^3 ) ossia ( 2+8 = 10 ), che è il valore in decimale, mentre in hex equivale a 0x0A ed in binario a 01010. Ripetendo il processo per tutte le altre righe usciranno fuori i valori come mostrati in figura.

Ora vi starete chiedendo “Perché sia troppo uno stress creare un carattere personalizzato”, bene ora che avete capito come funziona il tutto, per rendervi la vita più semplice, a questo LINK  potrete trovare un ottimo generatore molto semplice da utilizzare ed oltre a farvi i calcoli come visto prima, vi genererà anche lo sketch da caricare su Arduino. Ottimo direi 🙂 …

Ora passiamo ad alcuni sketch di esempio da caricare su Arduino.

Sketch Smile

 Sketch Cuore

Sketch Omega

Sketch con i 3 caratteri

Come vedete dagli esempi per creare un carattere personalizzato si definisce un array (Smile, Cuore, Omega) che contiene i valori in binario calcolati precedentemente, è possibile scegliere se inserire valori in decimale, esadecimale o binario, secondo le vostre preferenze. Nella fase di setup viene utilizzata la funzione createChar. Il primo parametro passato è il numero di carattere che vogliamo ridefinire. Il secondo è l’array contenente i dati binari sopra calcolati. Con l’istruzione lcd.write(byte(0)) viene stampato sullo schermo il nostro carattere per cui il risultato sarà qualcosa simile all’immagine che vedete ad inizio pagina. Il loop è vuoto perché non abbiamo necessità di fare null’altro.

Spero vi sia piaciuto questo articolo. Se avete dubbi o problemi commentate qui sotto o utilizzate il forum. A presto 🙂

Ciao, se ti è piaciuto il mio blog e se qualche articolo ti è stato d’aiuto, se te la senti e se vuoi, incentiva il mio lavoro offrendomi un caffè o qualunque altra cosa preferisci farmi ricevere. Cercherò di dare il meglio di me e di inserire articoli sempre più interessanti e utili 🙂 . Clicca QUI per la donazione!