La generazione di caratteri per i display Lcd è più semplice con il Custom Character Generator.
Qualche giorno fa stavo lavorando al progetto di una ciabatta arduino e mi è servito poter disegnare due caratteri speciali da visualizzare sul display lcd.
Disegnare caratteri speciali per lcd
Puoi disegnare caratteri speciali per il tuo LCD, non grafico, colorando i quadratini di una griglia 5×8 punti:
questa tecnica l’ho decritta già in passato ed è certamente valilda ma complessa sopratutto se i simboli che desideri disegnare sono molti.
Il processo prevede:
- disegnare la griglia 5×8
- disegnare il simbolo con una matita
- trasformare i quadrati chiari in 0 e quelli scuri in 1 in una matrice
- tradurre in linguaggio arduino la matrice
Disegnare caratteri speciali con Custom Character Generator tool
Cercando nel web ho trovato questo fantastico strumento “Custom Character Generator” pubblicato in questo link
quando vuoi disegnare un simbolo ti sarà sufficiente collegarti al tool e cliccare sui quadrati che desideri oscurare del tuo carattere speciale sul display lcd:
nota che in automatico sulla destra genera il codice della matrice che puoi inserire nello sketch per visualizzare il tuo carattere speciale.
Come esempio ho generato il medesimo simbolo interamente colorato per il progetto in cui mi servivano entrambi:
Lo sketch del Custom Character Generator
Se scorri la pagina del custom character generator l’autore ti suggerisce anche uno sketch di esempio in cui ha già sostituto il nuovo simbolo generato:
#include <LiquidCrystal.h> // initialize the library LiquidCrystal lcd(12, 11, 5, 4, 3, 2); byte customChar[8] = { 0b01110, 0b11111, 0b11111, 0b11111, 0b01110, 0b01110, 0b01110, 0b00100 }; void setup() { // create a new custom character lcd.createChar(0, customChar); // set up number of columns and rows lcd.begin(16, 2); // print the custom char to the lcd // why typecast? see: http://arduino.cc/forum/index.php?topic=74666.0 lcd.write((uint8_t)0); } void loop() { }
analizziamo solo le linee più importati:
linee 06-15: inserisci la matrice che genera il carattere 5×8;
linea 19: crea un carattere personalizzato con indice 0 disegnato sulla base della matrice “customChar”;
linea 26: scrivi sul display lcd il carattere speciale creato unsando il metodo write(0) dell’istanza lcd;
3 commenti
Molto utile
Grazie per la condivisione.
Tiziano
Ciao Mauro, ma per il posizionamento come si fa?
Autore
Ciao Domenico,
cosa intendi per posizionamento? Quello fisico dei componenti?