- Material necesar:
- Registrul de deplasare:
- Interfață LCD cu ESP12 fără utilizarea Shift Register:
- COD:
- Interfață LCD cu ESP12 folosind Shift Register SN74HC595N:
- COD:
În acest tutorial vom vedea cum să interfațăm NodeMCU cu 16x2 LCD fără a utiliza comunicația I2C. Aici vom interfața LCD 16x2 folosind registrul de schimbare SN74HC595. De asemenea, îl putem interfața chiar și fără a utiliza nici un registru de schimbare. Vom vedea ambele tipuri de interfațări în acest tutorial. Principala diferență între ambele interfețe este numărul de pini folosiți în NodeMCU.
Material necesar:
- NodeMCU ESP12E
- SN74HC595 Shift Register IC
- Modul LCD 16x2
- Potențiometre
- Sârme masculin-feminin
- Breadboard
Registrul de deplasare:
În sistemele digitale, un registru de schimbare este o combinație de flip-flop-uri care sunt în cascadă în serie și împărtășesc același ceas. În acest pachet în cascadă, ieșirea datelor dintr-un flip-flop acționează ca date de intrare pentru următorul flip-flop, ceea ce duce la un circuit care schimbă cu o poziție matricea de biți stocată în el.
IC-ul pe care îl vom folosi este SN74HC595N. Este un serial simplu de 8 biți în paralel în registrul de deplasare IC. În cuvinte simple, acest IC permite adăugarea de intrări sau ieșiri suplimentare la un microcontroler prin conversia datelor între formatele paralele și seriale. Microcontrolerul nostru folosește 3 pini ai acestui IC pentru a trimite date în serie. De fapt, ieșirea de 8 biți va apărea pe 8 pini după obținerea informațiilor de 8 biți de la pini de intrare. Aflați mai multe despre registrele de schimbare aici.
Diagrama PIN și funcțiile PIN ale IC SN74HC595N sunt date mai jos:
Aici găsiți interfața 74HC595N cu Arduino și cu Raspberry pi.
Interfață LCD cu ESP12 fără utilizarea Shift Register:
Dacă ați folosit LCD 16x2 cu placa Arduino, atunci va fi foarte ușor. Trebuie doar să conectați pinii în NodeMCU la fel cum ați făcut cu placa Arduino.
Există 16 pini GPIO în NodeMCU și avem nevoie de 6 pini și gnd, vcc. Conectați pinii conform schemei de mai jos:
Vom folosi 4 pini de date și RS, EN de LCD care sunt conectate ca:
pinul d7 al LCD == pinul D8 al NodeMCU
pinul d6 al LCD == pinul D7 al NodeMCU
pinul d5 al LCD == pinul D6 al NodeMCU
pinul d4 al LCD == pinul D5 al NodeMCU
Pin RS al LCD == Pinul D2 al NodeMCU
Pin în LCD == Pin D3 al NodeMCU
Puteți utiliza orice GPIO pentru aceste conexiuni.
Acum, încărcați codul utilizând Arduino IDE, așa cum s-a explicat mai devreme. Codul este același ca și pentru placa Arduino, care poate fi găsit în exemplul Liquidcrystal. Programul este simplu și ușor de înțeles dacă doriți să aflați mai multe despre program, verificați interfața noastră LCD cu programul Arduino.
COD:
#include
După cum am văzut, am folosit deja 6 pini de NodeMCU. Există deja mai puțini pini disponibili pentru această placă mică și rămân cu puțini pini pentru a interfața alți senzori.
Deci, pentru a depăși această problemă, vom folosi registrul de schimbare IC, care va minimiza nr. de pini folosiți pe NodeMCU.
Interfață LCD cu ESP12 folosind Shift Register SN74HC595N:
Există 8 pini de ieșire și 3 pini de intrare disponibili în registrul de schimb IC. Vom folosi 6 pini de ieșire pentru a ne conecta cu ecranul LCD și 3 pini de intrare la NodeMCU.
Conexiunile LCD cu IC sunt date ca:
Pinul D7 al LCD == pinul 1 al IC
Pinul D6 al LCD == pinul 2 al IC
Pin D5 LCD == pin 3 IC
Pin D4 LCD == pin 4 IC
RS pin LCD == pin 7 IC
En pin de LCD == pin 15 de IC
Conexiunea NodeMCU cu IC:
Pinul D6 al NodeMCU == pinul 14 al IC, PIN-ul DATA al IC
Pinul D7 al NodeMCU == pinul 12 al IC, PIN LATCH al IC
PIN D8 al NodeMCU == pinul 11 al IC, PIN CLOCK al IC
Conectați PIN-ul 16 și PIN-ul 10 al IC la Vcc.
Conectați PIN-ul 8 și PIN-ul 13 al IC la GND.
Realizați circuitul cu atenție conform schemei de mai jos:
Acum hardware-ul nostru este gata de programare.
Acum, avem nevoie de o bibliotecă „ LiquidCrystal595 ” care poate fi descărcată de pe acest link https://github.com/tehniq3/LiquidCrystal595 urmând pașii de mai jos:
1. Accesați meniul Sketch al Arduino IDE.
2. Faceți clic pe Include biblioteca .
3. Acum, faceți clic pe Adăugați bibliotecă.zip. Alegeți fișierul zip pe care l-ați descărcat de la linkul dat și gata.
Acum încărcați codul dat mai jos și veți vedea mesajul imprimând ecranul LCD.
COD:
#include
Codul este simplu, deoarece trebuie să oferim doar pinul de date, pinul de blocare și pinul de ceas ca argument în LiquidCrystal595 lcd (); iar restul codului este același cu cel pe care l-am făcut anterior.
În acest fel, tocmai ați salvat 3 pini de NodeMCU utilizând Shift Register.
De asemenea, verificați interfața LCD 16x2 cu alte microcontrolere:
- Interfață LCD cu microcontroler PIC
- Interfață LCD 16x2 cu Raspberry Pi folosind Python
- Interfață LCD cu microcontroler ATmega32
- Interfață LCD cu microcontroler 8051