Para establecer una buena comunicación entre el mundo humano y el mundo de las máquinas, las unidades de visualización juegan un papel importante. Por tanto, son una parte importante de los sistemas integrados. Las unidades de visualización, grandes o pequeñas, funcionan según el mismo principio básico. Además de unidades de visualización complejas como pantallas gráficas y pantallas 3D, uno debe saber trabajar con pantallas simples como unidades de 16x1 y 16x2. La unidad de visualización de 16x1 tendrá 16 caracteres y estará en una línea. La pantalla LCD de 16x2 tendrá 32 caracteres en total 16 en la 1ª línea y otros 16 en la 2ª línea. Aquí uno debe entender que en cada carácter hay 5x10 = 50 píxeles, por lo que para mostrar un carácter, los 50 píxeles deben trabajar juntos. Pero no debemos preocuparnos por eso porque hay otro controlador (HD44780) en la unidad de visualización que hace el trabajo de controlar los píxeles. (puedes verlo en la unidad LCD,es el ojo morado en la parte de atrás).
En este tutorial vamos a conectar una pantalla LCD de 16x2 con ARDUINO UNO. A diferencia de las placas de desarrollo normales, conectar una pantalla LCD a un ARDUINO es bastante fácil. Aquí no tenemos que preocuparnos por el envío y la recepción de datos. Solo tenemos que definir los números de pin y estará listo para mostrar datos en LCD.
Componentes requeridos
Hardware: ARDUINO UNO, fuente de alimentación (5v), JHD_162ALCD (16x2LCD), condensador 100uF.
Software: Arduino IDE (Arduino todas las noches).
Diagrama de circuito y explicación
En LCD de 16x2 hay 16 pines en total si hay luz de fondo, si no hay luz de fondo, habrá 14 pines. Uno puede encender o dejar los pines de luz de fondo. Ahora en los 14 pines hay 8 pines de datos (7-14 o D0-D7), 2 clavijas de alimentación de alimentación (1 y 2 o VSS y VDD o GND y + 5V), 3 rd PIN para el control de contraste (Vee-controla cómo de espesor los caracteres deben estar mostrado) y 3 pines de control (RS & RW & E).
En el circuito, pueden observar que solo he tomado dos pines de control, esto le da la flexibilidad. El bit de contraste y READ / WRITE no se utilizan con frecuencia, por lo que pueden cortocircuitarse a tierra. Esto coloca a la pantalla LCD en el modo de mayor contraste y lectura. Solo necesitamos controlar los pines ENABLE y RS para enviar caracteres y datos en consecuencia.
Las conexiones que se realizan para LCD se dan a continuación:
PIN1 o VSS a tierra
PIN2 o VDD o VCC a + 5v de potencia
PIN3 o VEE a tierra (ofrece el mejor contraste máximo para un principiante)
PIN4 o RS (Selección de registro) a PIN0 de ARDUINO UNO
PIN5 o RW (lectura / escritura) a tierra (pone la pantalla LCD en modo lectura facilita la comunicación para el usuario)
PIN6 o E (Activado) al PIN1 de ARDUINO UNO
PIN11 o D4 a PIN8 de ARDUINO UNO
PIN12 o D5 a PIN9 de ARDUINO UNO
PIN13 o D6 a PIN10 de ARDUINO UNO
PIN14 o D7 a PIN11 de ARDUINO UNO
El ARDUINO IDE permite al usuario utilizar LCD en modo de 4 bits. Este tipo de comunicación permite al usuario disminuir el uso de pines en ARDUINO, a diferencia de otros, el ARDUINO no necesita ser programado por separado para usarlo en el modo 4 porque por defecto el ARDUINO está configurado para comunicarse en el modo 4 bits. En el circuito puede ver que hemos utilizado comunicación de 4 bits (D4-D7).
Entonces, a partir de la mera observación de la tabla anterior, estamos conectando 6 pines de LCD al controlador en el que 4 pines son pines de datos y 2 pines para control.
La figura anterior muestra el esquema del circuito de LCD 16x2 conectado a ARDUINO UNO.
Trabajando
Para conectar una pantalla LCD al ARDUINO UNO, necesitamos saber algunas cosas.
|
Como en la tabla anterior, solo necesitamos mirar estas cuatro líneas para establecer una comunicación entre un ARDUINO y una pantalla LCD.
Primero necesitamos habilitar el archivo de encabezado ('#include
En segundo lugar, necesitamos decirle a la placa qué tipo de LCD estamos usando aquí. Dado que tenemos tantos tipos diferentes de LCD (como 20x4, 16x2, 16x1, etc.). Aquí vamos a conectar una pantalla LCD de 16x2 a UNO para que obtengamos 'lcd.begin (16, 2);'. Para 16x1 obtenemos 'lcd.begin (16, 1);'.
En esta instrucción vamos a decirle a la placa dónde conectamos los pines. Los pines que están conectados deben representarse en orden como "RS, En, D4, D5, D6, D7". Estos pines deben representarse correctamente. Dado que hemos conectado RS al PIN0 y así sucesivamente como se muestra en el diagrama del circuito, representamos el número de pin a la placa como “LiquidCrystal lcd (0, 1, 8, 9, 10, 11);”. Los datos que deben mostrarse en la pantalla LCD deben escribirse como “cd.print (" ¡hola, mundo! ");”. Con este comando, la pantalla LCD muestra "¡hola, mundo!".
Como puede ver, no debemos preocuparnos por nada más, solo tenemos que inicializar y el UNO estará listo para mostrar datos. No tenemos que escribir un ciclo de programa para enviar los datos BYTE por BYTE aquí.
La forma de comunicación entre LCD y UNO se explica paso a paso en el código C que se indica a continuación: