- Material requerido:
- Registro de turnos:
- Interfaz LCD con ESP12 sin usar Shift Register:
- CÓDIGO:
- Interfaz LCD con ESP12 usando Shift Register SN74HC595N:
- CÓDIGO:
En este tutorial veremos cómo interconectar NodeMCU con LCD 16x2 sin usar comunicación I2C. Aquí conectaremos una pantalla LCD de 16x2 usando el registro de desplazamiento SN74HC595. También podemos conectarlo incluso sin utilizar ningún registro de desplazamiento. Veremos ambos tipos de interfaces en este tutorial. La principal diferencia entre ambas interfaces es la cantidad de pines utilizados en NodeMCU.
Material requerido:
- NodeMCU ESP12E
- IC de registro de cambios SN74HC595
- Módulo LCD 16x2
- Potenciómetros
- Cables macho-hembra
- Tablero de circuitos
Registro de turnos:
En los sistemas digitales, un registro de desplazamiento es una combinación de flip-flops que están conectados en cascada en serie y comparten el mismo reloj. En este paquete en cascada, la salida de datos de un flip-flop actúa como entrada de datos para el siguiente flip-flop, lo que da como resultado un circuito que desplaza en una posición la matriz de bits almacenada en él.
El IC que vamos a utilizar es SN74HC595N. Es un simple circuito integrado de registro de desplazamiento en serie de 8 bits en paralelo. En palabras simples, este IC permite agregar entradas o salidas adicionales a un microcontrolador mediante la conversión de datos entre formatos paralelo y serial. Nuestro microcontrolador usa 3 pines de este IC para enviar datos en serie. En realidad, la salida de 8 bits vendrá en 8 pines después de obtener información de 8 bits de los pines de entrada. Obtenga más información sobre los registros de turnos aquí.
El diagrama PIN y las funciones PIN del IC SN74HC595N se muestran a continuación:
Aquí encontrará la interfaz de 74HC595N con Arduino y con Raspberry pi.
Interfaz LCD con ESP12 sin usar Shift Register:
Si ha utilizado una pantalla LCD de 16x2 con la placa Arduino, será muy fácil. Solo tiene que conectar los pines en NodeMCU al igual que lo hizo con la placa Arduino.
Hay 16 pines GPIO en NodeMCU y necesitamos 6 pines y gnd, vcc. Conecte los pines de acuerdo con el diagrama de circuito que se muestra a continuación:
Usaremos 4 pines de datos y RS, EN de LCD que están conectados como:
pin d7 de LCD == pin D8 de NodeMCU
pin d6 de LCD == pin D7 de NodeMCU
pin d5 de LCD == pin D6 de NodeMCU
pin d4 de LCD == pin D5 de NodeMCU
Pin RS de LCD == pin D2 de NodeMCU
En pin de LCD == D3 pin de NodeMCU
Puede utilizar cualquier GPIO para estas conexiones.
Ahora, cargue el código usando Arduino IDE como se explicó anteriormente. El código es el mismo que para la placa Arduino que se puede encontrar en el ejemplo Liquidcrystal. El programa es simple y fácilmente comprensible. Si desea obtener más información sobre el programa, consulte nuestra interfaz LCD con el programa Arduino.
CÓDIGO:
#incluir
Como vimos, ya usamos 6 pines de NodeMCU. Ya hay menos pines disponibles para esta pequeña placa y nos quedan pocos pines para conectar otros sensores.
Entonces, para superar este problema usaremos el registro de desplazamiento IC que minimizará el número de pines utilizados en NodeMCU.
Interfaz LCD con ESP12 usando Shift Register SN74HC595N:
Hay 8 pines de salida y 3 de entrada disponibles en el registro de desplazamiento IC. Usaremos 6 pines de salida para conectar con el LCD y 3 pines de entrada a NodeMCU.
Las conexiones de LCD con IC se dan como:
Pin D7 de LCD == pin 1 de IC
Pin D6 de LCD == pin 2 de IC
Pin D5 de LCD == pin 3 de IC
Pin D4 de LCD == pin 4 de IC
Pin RS de LCD == pin 7 de IC
En pin de LCD == pin 15 de IC
Conexión de NodeMCU con IC:
Pin D6 de NodeMCU == pin 14 de IC, PIN de DATOS de IC
Pin D7 de NodeMCU == pin 12 de IC, PIN LATCH de IC
Pin D8 de NodeMCU == pin 11 de IC, PIN de RELOJ de IC
Conecte el PIN 16 y el PIN 10 de IC a Vcc.
Conecte el PIN 8 y el PIN 13 de IC a GND.
Haga el circuito con cuidado de acuerdo con el siguiente diagrama:
Ahora nuestro hardware está listo para programar.
Ahora, necesitamos una biblioteca " LiquidCrystal595 " que se puede descargar desde este enlace https://github.com/tehniq3/LiquidCrystal595 siguiendo los pasos a continuación:
1. Vaya al menú Sketch de Arduino IDE.
2. Haga clic en Incluir biblioteca .
3. Ahora, haga clic en Agregar biblioteca.zip. Elija el archivo zip que ha descargado desde el enlace dado y listo.
Ahora cargue el código que se proporciona a continuación y verá un mensaje imprimiendo en la pantalla LCD.
CÓDIGO:
#incluir
El código es simple ya que solo tenemos que dar el pin de datos, el pin de cierre y el pin de reloj como argumento en LiquidCrystal595 lcd (); y el resto del código es el mismo que hemos hecho anteriormente.
De esta manera, acaba de guardar 3 pines de NodeMCU usando Shift Register.
Además, verifique la interfaz LCD 16x2 con otros microcontroladores:
- Interfaz LCD con microcontrolador PIC
- Interfaz LCD 16x2 con Raspberry Pi usando Python
- Interfaz LCD con microcontrolador ATmega32
- Interfaz LCD con microcontrolador 8051