- Material necessário:
- Registro de deslocamento:
- Interface LCD com ESP12 sem usar Shift Register:
- CÓDIGO:
- Interface LCD com ESP12 usando Shift Register SN74HC595N:
- CÓDIGO:
Neste tutorial, veremos como fazer a interface do NodeMCU com o LCD 16x2 sem usar a comunicação I2C. Aqui faremos a interface do LCD 16x2 usando o registrador de deslocamento SN74HC595. Também podemos fazer a interface mesmo sem usar nenhum registrador de deslocamento. Veremos os dois tipos de interface neste tutorial. A principal diferença entre as duas interfaces é o número de pinos usados no NodeMCU.
Material necessário:
- NodeMCU ESP12E
- SN74HC595 Shift Register IC
- Módulo LCD 16x2
- Potenciômetros
- Fios macho-fêmea
- Tábua de pão
Registro de deslocamento:
Em sistemas digitais, um shift register é uma combinação de flip-flops que estão em cascata em série e compartilham o mesmo clock. Nesse pacote em cascata, a saída de dados de um flip-flop age como entrada de dados para o próximo flip-flop, o que resulta em um circuito que muda uma posição da matriz de bits nele armazenada.
O IC que vamos usar é SN74HC595N. É um simples IC serial de 8 bits em paralelo out shift register. Em palavras simples, este IC permite que entradas ou saídas adicionais sejam adicionadas a um microcontrolador, convertendo dados entre os formatos paralelo e serial. Nosso microcontrolador usa 3 pinos deste IC para enviar dados em série. Na verdade, a saída de 8 bits virá em 8 pinos após obter informações de 8 bits dos pinos de entrada. Saiba mais sobre os registradores de deslocamento aqui.
O diagrama do PIN e as funções do PIN do IC SN74HC595N são fornecidos abaixo:
Você encontra a interface do 74HC595N com o Arduino e com o Raspberry pi aqui.
Interface LCD com ESP12 sem usar Shift Register:
Se você usou o LCD 16x2 com a placa Arduino, será muito fácil. Você só precisa conectar os pinos no NodeMCU da mesma forma que fez com a placa Arduino.
Existem 16 pinos GPIO no NodeMCU e precisamos de 6 pinos e gnd, vcc. Conecte os pinos de acordo com o diagrama de circuito fornecido abaixo:
Usaremos 4 pinos de dados e RS, EN de LCD que são conectados como:
pino d7 do LCD == pino D8 do NodeMCU
pino d6 do LCD == pino D7 do NodeMCU
pino d5 do LCD == pino D6 do NodeMCU
pino d4 do LCD == pino D5 do NodeMCU
Pino RS do LCD == Pino D2 do NodeMCU
Pino en do LCD == Pino D3 do NodeMCU
Você pode usar qualquer GPIO para essas conexões.
Agora, carregue o código usando o IDE do Arduino conforme explicado anteriormente. O código é o mesmo da placa Arduino, que pode ser encontrado no exemplo do cristal líquido. O programa é simples e facilmente compreensível se você quiser saber mais sobre o programa, verifique nossa interface de LCD com o programa Arduino.
CÓDIGO:
#incluir
Como vimos, já usamos 6 pinos do NodeMCU. Já existem menos pinos disponíveis para esta pequena placa e ficamos com poucos pinos para fazer a interface de outros sensores.
Então, para contornar este problema usaremos o shift register IC que irá minimizar o no. de pinos usados no NodeMCU.
Interface LCD com ESP12 usando Shift Register SN74HC595N:
Existem 8 pinos de saída e 3 pinos de entrada disponíveis no registro de deslocamento IC. Usaremos 6 pinos de saída para conectar com o LCD e 3 pinos de entrada para NodeMCU.
As conexões de LCD com IC são dadas como:
Pino D7 do LCD == pino 1 do IC
Pino D6 do LCD == pino 2 do IC
Pino D5 do LCD == pino 3 do IC
Pino D4 do LCD == pino 4 do IC
Pino RS do LCD == pino 7 do IC
En pin do LCD == pino 15 do IC
Conexão de NodeMCU com IC:
D6 pino do NodeMCU == pino 14 do IC, DADOS PIN do IC
D7 pino do NodeMCU == pino 12 do IC, LATCH PIN do IC
D8 pino do NodeMCU == pino 11 do IC, CLOCK PIN do IC
Conecte o PIN 16 e o PIN 10 do IC ao Vcc.
Conecte o PIN 8 e o PIN 13 do IC ao GND.
Faça o circuito com cuidado de acordo com o diagrama abaixo:
Agora nosso Hardware está pronto para programar.
Agora, precisamos de uma biblioteca “ LiquidCrystal595 ”, que pode ser baixada deste link https://github.com/tehniq3/LiquidCrystal595 seguindo as etapas abaixo:
1. Vá para o menu Sketch do Arduino IDE.
2. Clique em Incluir Biblioteca .
3. Agora, clique em Adicionar biblioteca.zip. Escolha o arquivo zip que você baixou do link fornecido e está feito.
Agora carregue o código fornecido abaixo e você verá uma mensagem imprimindo no LCD.
CÓDIGO:
#incluir
O código é simples, pois temos que fornecer dados pin, latch pin e clock pin como argumento em LiquidCrystal595 lcd (); e o resto do código é o mesmo que fizemos anteriormente.
Desta forma, você acabou de salvar 3 pinos do NodeMCU usando o Shift Register.
Além disso, verifique a interface do LCD 16x2 com outros microcontroladores:
- Interface LCD com microcontrolador PIC
- Interface de LCD 16x2 com Raspberry Pi usando Python
- Interface de LCD com microcontrolador ATmega32
- Interface de LCD com microcontrolador 8051