Creador: Administrador
Hace muy poco, me solicitaron desarrollar un proyecto en donde la visualización debía hacerse mediante una pantalla LCD 16x2. El proyecto me obligo a investigar a fondo la pantalla, para realizar caracteres poco comunes que no se pueden hacer con el "lcd.print(" ");".
La pantalla está compuesta de 16 columnas y 2 filas, de ahí su nombre. Cada fila tiene 16 cuadros que es en donde se escribe el carácter deseado, pero si nos vamos más a fondo, cada cuadro es una "mini pantalla LCD" de 8 filas y 5 columnas, teniendo un total de 40 pixeles los cuales se pueden encender o apagar para generar nuevos y únicos caracteres.
La forma de encender cada pixel es a través de un 1, y si se quiere mantener apagado es con un 0 lógico.
La función para lograr lo anteriormente mencionado:
byte nombre[8] = {
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111 };
Luego en el Void Setup (), mediante otro comando, generaremos el carácter:
lcd.createChar(1, nombre);
Finalmente, para escribir el carácter, en el Void Setup() o Void loop():
lcd.setCursor(0, 0); // Posición.
lcd.write(1); // Se escribe el carácter.
Te recomiendo que en una hoja de papel dibujes una matriz de 8 filas y 5 columnas, y ahí dibujes el carácter que quieras generar. Cada pixel de la matriz usado en carácter equivale a un 1, y la que no este usada es un 0.