- Materiale richiesto:
- Registro di turno:
- Interfaccia LCD con ESP12 senza l'utilizzo del registro a scorrimento:
- CODICE:
- Interfaccia LCD con ESP12 utilizzando il registro a scorrimento SN74HC595N:
- CODICE:
In questo tutorial vedremo come interfacciare NodeMCU con LCD 16x2 senza utilizzare la comunicazione I2C. Qui interfacciamo LCD 16x2 utilizzando il registro a scorrimento SN74HC595. Possiamo anche interfacciarlo anche senza utilizzare alcun registro a scorrimento. Vedremo entrambi i tipi di interfacce in questo tutorial. La differenza principale tra le due interfacce è il numero di pin utilizzati in NodeMCU.
Materiale richiesto:
- NodeMCU ESP12E
- SN74HC595 Shift Register IC
- Modulo LCD 16x2
- Potenziometri
- Fili maschio-femmina
- Breadboard
Registro di turno:
Nei sistemi digitali, un registro a scorrimento è una combinazione di flip-flop che sono collegati a cascata in serie e condividono lo stesso clock. In questo pacchetto a cascata, i dati in uscita da un flip-flop agiscono come dati in ingresso per il successivo flip-flop, il che si traduce in un circuito che sposta di una posizione la matrice di bit in esso memorizzata.
L'IC che useremo è SN74HC595N. Si tratta di un semplice IC a registro a scorrimento in uscita parallela a 8 bit seriale. In parole semplici, questo IC consente di aggiungere ulteriori ingressi o uscite a un microcontrollore convertendo i dati tra formati paralleli e seriali. Il nostro microcontrollore utilizza 3 pin di questo IC per inviare dati in modo seriale. In realtà l'output a 8 bit arriverà su 8 pin dopo aver ottenuto informazioni a 8 bit dai pin di input. Ulteriori informazioni sui registri di turno qui.
Di seguito sono riportati il diagramma PIN e le funzioni PIN dell'IC SN74HC595N:
Trovi l'interfacciamento di 74HC595N con Arduino e con Raspberry pi qui.
Interfaccia LCD con ESP12 senza l'utilizzo del registro a scorrimento:
Se hai utilizzato LCD 16x2 con la scheda Arduino, sarà molto semplice. Devi solo collegare i pin in NodeMCU proprio come hai fatto con la scheda Arduino.
Ci sono 16 pin GPIO in NodeMCU e abbiamo bisogno di 6 pin e gnd, vcc. Collegare i pin in base allo schema del circuito fornito di seguito:
Useremo 4 pin dati e RS, EN dell'LCD che sono collegati come:
pin d7 dell'LCD == pin D8 di NodeMCU
pin d6 dell'LCD == pin D7 di NodeMCU
pin d5 dell'LCD == pin D6 di NodeMCU
pin d4 dell'LCD == pin D5 di NodeMCU
Pin RS dell'LCD == Pin D2 di NodeMCU
En pin di LCD == D3 pin di NodeMCU
Puoi usare qualsiasi GPIO per queste connessioni.
Ora carica il codice usando l'IDE di Arduino come spiegato in precedenza. Il codice è lo stesso della scheda Arduino che può essere trovata nell'esempio Liquidcrystal. Il programma è semplice e facilmente comprensibile se vuoi saperne di più sul programma controlla il nostro interfaccia LCD con il programma Arduino.
CODICE:
#includere
Come abbiamo visto, abbiamo già utilizzato 6 pin di NodeMCU. Ci sono già meno pin disponibili per questa piccola scheda e ci rimangono pochi pin per interfacciare altri sensori.
Quindi, per ovviare a questo problema , utilizzeremo un IC registro a scorrimento che ridurrà al minimo il di pin utilizzati su NodeMCU.
Interfaccia LCD con ESP12 utilizzando il registro a scorrimento SN74HC595N:
Sono disponibili 8 pin di uscita e 3 di ingresso nell'IC del registro a scorrimento. Useremo 6 pin di uscita per il collegamento con l'LCD e 3 pin di ingresso a NodeMCU.
Le connessioni dell'LCD con l'IC sono fornite come:
Pin D7 dell'LCD == pin 1 dell'IC
Pin D6 dell'LCD == pin 2 dell'IC
Pin D5 dell'LCD == pin 3 dell'IC
Pin D4 dell'LCD == pin 4 dell'IC
Pin RS dell'LCD == pin 7 dell'IC
En pin di LCD == pin 15 di IC
Collegamento di NodeMCU con IC:
Pin D6 di NodeMCU == pin 14 di IC, DATA PIN di IC
Pin D7 di NodeMCU == pin 12 di IC, PIN LATCH di IC
Pin D8 di NodeMCU == pin 11 di IC, PIN CLOCK di IC
Collegare il PIN 16 e il PIN 10 di IC a Vcc.
Collegare il PIN 8 e il PIN 13 dell'IC a GND.
Crea il circuito con attenzione secondo lo schema seguente:
Ora il nostro hardware è pronto per la programmazione.
Ora, abbiamo bisogno di una libreria " LiquidCrystal595 " che può essere scaricata da questo link https://github.com/tehniq3/LiquidCrystal595 seguendo i passaggi seguenti:
1. Vai al menu Sketch di Arduino IDE.
2. Fare clic su Includi libreria .
3. Ora, fai clic su Aggiungi libreria.zip. Scegli il file zip che hai scaricato dal link fornito e il gioco è fatto.
Ora carica il codice fornito di seguito e vedrai un messaggio stampato sul display LCD.
CODICE:
#includere
Il codice è semplice in quanto dobbiamo solo fornire pin dati, pin di chiusura e pin di clock come argomenti in LiquidCrystal595 lcd (); e il resto del codice è lo stesso che abbiamo fatto in precedenza.
In questo modo, hai appena salvato 3 pin di NodeMCU utilizzando Shift Register.
Inoltre, controlla l'interfaccia LCD 16x2 con altri microcontrollori:
- Interfacciamento LCD con microcontrollore PIC
- Interfaccia LCD 16x2 con Raspberry Pi utilizzando Python
- Interfacciamento LCD con il microcontrollore ATmega32
- Interfacciamento LCD con microcontrollore 8051