Cómo usar la función createChar () para crear caracteres
En Arduino hay una función especial a través de la cual también se pueden hacer los caracteres. Esta función también se puede usar para hacer diferentes formas, diferentes símbolos y algunas animaciones también.
Para crear caracteres, esta función requiere los dos argumentos. El primero es el número del personaje que se usa cuando se va a mostrar el personaje.
El segundo argumento son los datos del personaje que se mostrará; puede ser en forma de números binarios o números hexadecimales.
lcd.createChar (número, datos de caracteres);
Los caracteres personalizados se pueden crear encendiendo y apagando algunas partes de la pantalla LCD. Por ejemplo, si consideramos una LCD de 16 × 2, cada celda de la pantalla se divide en puntos que tienen 8 filas y 5 columnas.
Entonces, cada celda es de 40 píxeles y esta función createChar () puede usar 8 bits de los datos a la vez. Si los datos son más de 8 bits, entonces podemos declarar múltiples caracteres y llamarlos por números para cada celda y mostrar esa celda en un orden específico.
Por ejemplo, si tenemos que mostrar la flecha hacia abajo, tenemos que dar el valor de uno al punto respectivo que se enciende. Del mismo modo, en el estado de apagado, el valor de cada punto será cero, por lo que podemos decir que, de manera predeterminada, cada fila tiene un binario de 0. Por lo tanto, para mostrar la flecha podemos declarar los siguientes binarios utilizando el tipo de datos de byte y también podemos escribir caracteres personalizados utilizando sus valores hexadecimales utilizando el mismo tipo de datos de byte.
// valores binarios
Byte Arrow Char [8] = 0B00000,0B00000,0B00100,0B00100,0B10101,0B01110,0B00100,0B00000;
// valores hexadecimales
byte customchar [] = 0x00,0x00,0x04,0x04,0x15,0x0e, 0x04,0x00;
A continuación, hemos dado la tabla en la que A representa las columnas, mientras que la B representa las filas para que cada punto tenga un valor de 0 o 1. En este caso, hemos dibujado una flecha hacia abajo y para esto hemos encendido algunos puntos dándoles el valor de 1. La fila B3 tiene solo un punto que se debe entregar, por lo que tiene el valor de 1 y ese punto se encuentra en la columna A2 y el resto de la tabla está organizado de esta manera.
A4 | A3 | A2 | A1 | A0 | |
B0 | 0 | 0 | 0 | 0 | 0 |
B1 | 0 | 0 | 0 | 0 | 0 |
B2 | 0 | 0 | 1 | 0 | 0 |
B3 | 0 | 0 | 1 | 0 | 0 |
B4 | 1 | 0 | 1 | 0 | 1 |
B5 | 0 | 1 | 1 | 1 | 0 |
B6 | 0 | 0 | 1 | 0 | 0 |
B7 | 0 | 0 | 0 | 0 | 0 |
Dado que en las dos primeras filas y la última fila de la celda no hay puntos que estén en el estado encendido, por lo que los binarios de esas filas serán cero. Por lo tanto, los valores para estas filas también se incluirán al declarar el carácter y también podemos usar los hexadecimales para crear un personaje.
También podemos mostrar múltiples caracteres utilizando el lcd.createChar () función varias veces. Entonces podemos mostrar cada personaje usando el lcd.escribir() función dando el número asignado al personaje.
Hemos proporcionado el código Arduino para usar el lcd.createChar () función en la que hemos mostrado múltiples caracteres. Para mostrar los caracteres tenemos que asignar el lugar específico para cada personaje en caso de múltiples caracteres utilizando el lcd.setCursor () función.
Código Arduino para crear caracteres personalizados
#Include // Definición de la biblioteca para LCD
LiquidCrystal LCD (12, 11, 5, 4, 3, 2); // Arduino Pins para LCD
// declarando los binarios para cada personaje
Byte Char1 [8] = 0B00000,0B00000,0B00100,0B00100,0B10101,0B01110,0B00100,0B00000;
Byte Char2 [8] = 0B00000,0B00000,0B00100,0B01010,0B11011,0B01010,0B111111,0B00000;
Byte Char3 [8] = 0B00000,0B00000,0B01010,0B10101,0B10001,0B01010,0B00100,0B00000;
setup () void
De serie.comenzar (9600);
lcd.comenzar (16, 2); // Inicializando las dimensiones de LCD
lcd.createChar (1, char1); // Creando el primer personaje
lcd.createChar (2, char2); // Creando el segundo personaje
lcd.CreateChar (3, Char3); // Creando el tercer personaje
lcd.setCursor (1, 0); // Lugar para el primer personaje
lcd.escribir ((byte) 1); // Impresión del personaje usando el número que se le da
lcd.setCursor (2, 0); // Lugar para el segundo personaje
lcd.escribir ((byte) 2); // Impresión del personaje usando el número que se le da
lcd.setCursor (3, 0); // Lugar para el tercer personaje
lcd.escribir ((byte) 3); // Impresión del personaje usando el número que se le da
bucle void ()
En el código Arduino después de definir la biblioteca para LCD y asignar los pines de Arduino para LCD los binarios para tres caracteres se definen.
Luego en la función de configuración después de declarar las dimensiones de la LCD la función lcd.createChar () se usa para crear el personaje personalizado. A los binarios definidos de los caracteres se dan a esta función y a cada personaje se le asigna un número que se usa en el lcd.imprimir() función. Para cada personaje la función lcd.createChar () se usa por separado.
El esquema para el circuito es:
Producción
Conclusión
El uso de caracteres en la programación puede ayudar a etiquetar los datos mostrados como mostrar el símbolo del termómetro para la temperatura. Para crear y mostrar los caracteres personalizados especiales en el módulo de visualización de la función LCD.createChar () se puede usar. Este artículo explica cómo crear caracteres especiales usando la pantalla LCD.función createChar ().