Menu
CoddyTech

Disegnare caratteri personalizzati

Fa parte della sezione Display e sensori del percorso Arduino di Coddy. Lezione 10 di 24.

Ogni carattere sull'LCD è una griglia di 5 per 8 punti. Puoi progettarne fino a otto personalizzati, numerati da 0 a 7. Descrivine uno con 8 righe, ciascuna con uno schema a 5 bit in cui 1 indica un punto acceso:

byte heart[8] = {
  0b00000,
  0b01010,
  0b11111,
  0b11111,
  0b01110,
  0b00100,
  0b00000,
  0b00000
};

lcd.createChar(0, heart) lo memorizza come carattere 0. lcd.write(byte(0)) lo disegna nella posizione del cursore. print(0) disegnerebbe invece la cifra 0.

Attenzione: per memorizzare un carattere, la libreria indirizza lo schermo alla sua memoria dei caratteri, e lo schermo resta indirizzato lì. Tutto ciò che viene stampato dopo va in quella memoria, non sullo schermo. Quindi chiama lcd.setCursor() (o lcd.clear()) dopo createChar(), prima di stampare.

lcd.createChar(0, heart);
lcd.setCursor(0, 0);   // torna all'inizio dello schermo
lcd.write(byte(0));
challenge icon

Sfida

Medio

Il progetto iniziale ha una faccina sorridente. Saluta con essa:

  • memorizzala come carattere 0 con lcd.createChar()
  • sposta il cursore in alto a sinistra
  • stampa Hi (con uno spazio), poi disegna la faccina sorridente

Premi Run, poi Check.

Provalo tu

#include <LiquidCrystal.h>

// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

byte smiley[8] = {
  0b00000,
  0b01010,
  0b01010,
  0b00000,
  0b10001,
  0b01110,
  0b00000,
  0b00000
};

void setup() {
  lcd.begin(16, 2);

  // memorizza la faccina come carattere 0, poi stampa "Hi " e la faccina
}

void loop() {
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Display e sensori

Esercitati da solo: Playground Arduino