Dibujar caracteres personalizados
Parte de la sección Pantallas y sensores del Journey de Arduino de Coddy. Lección 10 de 24.
Cada carácter de la pantalla LCD es una cuadrícula de 5 por 8 puntos. Puedes diseñar hasta ocho propios, numerados del 0 al 7. Describe uno con 8 filas, cada una con un patrón de 5 bits donde 1 representa un punto encendido:
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
0b00000
};lcd.createChar(0, heart) lo almacena como el carácter 0. lcd.write(byte(0)) lo dibuja donde está el cursor. print(0) dibujaría el dígito 0 en su lugar.
Una trampa: para almacenar un carácter, la biblioteca dirige la pantalla a su memoria de caracteres, y esta permanece allí. Todo lo que se imprima después se escribe en esa memoria, no en la pantalla. Así que llama a lcd.setCursor() (o lcd.clear()) después de createChar(), antes de imprimir.
lcd.createChar(0, heart);
lcd.setCursor(0, 0); // de vuelta a la pantalla
lcd.write(byte(0));Desafío
IntermedioEl diseño inicial tiene una carita sonriente. Di hola con ella:
- guárdala como el carácter 0 con
lcd.createChar() - mueve el cursor a la esquina superior izquierda
- imprime
Hi(con un espacio), después dibuja la carita sonriente
Pulsa Run y después Check.
Pruébalo tú mismo
#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);
// guarda la carita sonriente como carácter 0, luego imprime "Hi " y la carita sonriente
}
void loop() {
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Pantallas y sensores
2Pantalla LCD de caracteres
Hola en la LCDColocar texto con setCursorNúmeros en vivo en la LCDBorrar dígitos sobrantesDibujar caracteres personalizadosTexto desplazablePractica por tu cuenta: Playground de Arduino