Custom Character Generator

La generazione di caratteri per i display Lcd è più semplice con il Custom Character Generator.

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:

Custom Character Excel

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

Custom Character Generator

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:

Custom Character Generator light

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:

Custom Character Generator light on

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;

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/custom-character-generator.html

3 commenti

  1. Molto utile
    Grazie per la condivisione.
    Tiziano

    • Domenico 74 il 29 Agosto 2018 alle 13:55
    • Rispondi

    Ciao Mauro, ma per il posizionamento come si fa?

    1. Ciao Domenico,
      cosa intendi per posizionamento? Quello fisico dei componenti?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.