- Material requerit:
- Registre de torns:
- Interfície LCD amb ESP12 sense utilitzar Shift Register:
- CODI:
- Interfície LCD amb ESP12 mitjançant Shift Register SN74HC595N:
- CODI:
En aquest tutorial veurem com interfíciear NodeMCU amb LCD de 16x2 sense utilitzar la comunicació I2C. Aquí farem una interfície LCD de 16x2 mitjançant el registre de canvis SN74HC595. També podem connectar-lo fins i tot sense fer servir cap registre de torns. Veurem els dos tipus d'interfaces en aquest tutorial. La diferència principal entre ambdues interfícies és el nombre de pins utilitzats a NodeMCU.
Material requerit:
- NodeMCU ESP12E
- SN74HC595 Registre de canvis IC
- Mòdul LCD de 16x2
- Potenciòmetres
- Cable masculí-femení
- Taula de pa
Registre de torns:
En els sistemes digitals, un registre de desplaçament és una combinació de xancles que es mostren en cascada en sèrie i que comparteixen el mateix rellotge. En aquest paquet en cascada, la sortida de dades d'un xanclet actua com a entrada de dades per al següent xanclet, el que resulta en un circuit que canvia d'una posició la matriu de bits emmagatzemada en ell.
El CI que utilitzarem és SN74HC595N. És un simple registre de desplaçament en sèrie de 8 bits en paral·lel. En paraules simples, aquest IC permet afegir entrades o sortides addicionals a un microcontrolador mitjançant la conversió de dades entre formats paral·lels i en sèrie. El nostre microcontrolador utilitza 3 pins d’aquest CI per enviar dades de manera seriosa. En realitat, la sortida de 8 bits arribarà a 8 pins després d'obtenir informació de 8 bits dels pins d'entrada. Obteniu més informació sobre els registres de torns aquí.
A continuació es mostren el diagrama PIN i les funcions PIN de l'IC SN74HC595N:
Aquí trobareu la interfície de 74HC595N amb Arduino i amb Raspberry pi.
Interfície LCD amb ESP12 sense utilitzar Shift Register:
Si heu utilitzat LCD de 16x2 amb la placa Arduino, serà molt fàcil. Només heu de connectar pins a NodeMCU igual que heu fet amb la placa Arduino.
Hi ha 16 pins GPIO a NodeMCU i necessitem 6 pins i gnd, vcc. Connecteu els pins segons el diagrama de circuits que es mostra a continuació:

Utilitzarem 4 pins de dades i RS, EN de LCD que es connecten com:
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 == Pin D3 de NodeMCU
Podeu utilitzar qualsevol GPIO per a aquestes connexions.
Ara, pengeu el codi amb Arduino IDE tal com s’ha explicat anteriorment. El codi és el mateix que per a la placa Arduino, que es pot trobar a l’exemple de Liquidcrystal. El programa és senzill i fàcil d’entendre si voleu obtenir més informació sobre el programa, consulteu la nostra interfície LCD amb el programa Arduino.
CODI:
#incloure
Com hem vist, ja hem utilitzat 6 pins de NodeMCU. Ja hi ha menys pins disponibles per a aquesta petita placa i ens queden pocs pins per connectar altres sensors.
Per tant, per superar aquest problema , utilitzarem el registre de desplaçaments IC que minimitzarà el no. de pins utilitzats a NodeMCU.
Interfície LCD amb ESP12 mitjançant Shift Register SN74HC595N:
Hi ha 8 pins de sortida i 3 entrades disponibles al registre de desplaçament IC. Utilitzarem 6 pins de sortida per connectar-nos amb la pantalla LCD i 3 pins d’entrada a NodeMCU.
Les connexions de LCD amb IC es donen com:
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
Connexió de NodeMCU amb IC:
Pin D6 de NodeMCU == pin 14 d'IC, PIN de dades d'IC
Pin D7 de NodeMCU == pin 12 d'IC, PIN LATCH d'IC
Pin D8 de NodeMCU == pin 11 de IC, PIN de RELLOTGE de IC
Connecteu el PIN 16 i el PIN 10 d’IC a Vcc.
Connecteu el PIN 8 i el PIN 13 d’IC a GND.
Feu un circuit amb cura segons el diagrama següent:

Ara el nostre maquinari està a punt per programar-se.
Ara necessitem una biblioteca " LiquidCrystal595 " que es pot descarregar des d'aquest enllaç https://github.com/tehniq3/LiquidCrystal595 seguint els passos següents:
1. Aneu al menú Sketch de Arduino IDE.
2. Feu clic a Inclou biblioteca .
3. Ara feu clic a Afegeix biblioteca.zip. Trieu el fitxer zip que heu descarregat de l'enllaç donat i que està fet.
Ara pengeu el codi que es mostra a continuació i veureu el missatge que imprimeix la pantalla LCD.
CODI:
#incloure
El codi és senzill, ja que només hem de donar el pin de dades, el pin de tancament i el pin de rellotge com a argument a LiquidCrystal595 lcd (); i la resta del codi és el mateix que hem fet anteriorment.
D'aquesta manera, acabeu de desar 3 pins de NodeMCU mitjançant Shift Register.
A més, comproveu la interfície LCD de 16x2 amb altres microcontroladors:
- Interfície LCD amb microcontrolador PIC
- Interfície LCD de 16x2 amb Raspberry Pi mitjançant Python
- Interfície LCD amb microcontrolador ATmega32
- Interfície LCD amb microcontrolador 8051
