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;

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

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.