- Nødvendig materiale:
- Skiftregister:
- Grensesnitt LCD med ESP12 uten bruk av Shift Register:
- KODE:
- Grensesnitt LCD med ESP12 ved bruk av Shift Register SN74HC595N:
- KODE:
I denne opplæringen vil vi se hvordan du kan grensesnitt NodeMCU med 16x2 LCD uten å bruke I2C-kommunikasjon. Her vil vi grensesnitt 16x2 LCD ved hjelp av skiftregister SN74HC595. Vi kan også grensesnitt det selv uten å bruke noe skiftregister. Vi vil se begge typer grensesnitt i denne opplæringen. Hovedforskjellen mellom begge grensesnittene er antall pinner som brukes i NodeMCU.
Nødvendig materiale:
- NodeMCU ESP12E
- SN74HC595 Skiftregister IC
- 16x2 LCD-modul
- Potensiometre
- Mann-hunn ledninger
- Brettbrett
Skiftregister:
I digitale systemer er et skiftregister en kombinasjon av flip-flops som er kaskadert i serie og har samme klokke. I denne kaskadepakken fungerer data-ut av en flip-flop som data-in for neste flip-flop, noe som resulterer i en krets som skifter bitarrayen som er lagret i den med en posisjon.
ICen som vi skal bruke er SN74HC595N. Det er en enkel 8-bits serie i parallell ut skiftregister IC. Med enkle ord tillater denne IC at flere innganger eller utganger legges til en mikrokontroller ved å konvertere data mellom parallelle og serielle formater. Mikrokontrolleren vår bruker 3 pinner på denne ICen for å sende data serielt. Egentlig kommer 8-bits utgang på 8 pinner etter å ha fått 8-bits informasjon fra inngangspinnene. Lær mer om skiftregister her.
PIN-diagram og PIN-funksjoner til IC SN74HC595N er gitt nedenfor:
Du finner grensesnitt av 74HC595N med Arduino og med Raspberry pi her.
Grensesnitt LCD med ESP12 uten bruk av Shift Register:
Hvis du har brukt 16x2 LCD med Arduino-kortet, vil det være veldig enkelt. Du må bare koble pinner i NodeMCU akkurat som du har gjort med Arduino-kortet.
Det er 16 GPIO-pinner i NodeMCU, og vi trenger 6 pinner og GND, vcc. Koble pinner i henhold til kretsdiagrammet gitt nedenfor:
Vi bruker fire datapinner og RS, EN av LCD som er koblet til som:
d7 pin av LCD == D8 pin av NodeMCU
d6 pin på LCD == D7 pin på NodeMCU
d5 pin av LCD == D6 pin av NodeMCU
d4 pin på LCD == D5 pin på NodeMCU
RS-stift på LCD == D2-stift i NodeMCU
En pin av LCD == D3 pin av NodeMCU
Du kan bruke hvilken som helst GPIO for disse tilkoblingene.
Last nå opp koden ved hjelp av Arduino IDE som forklart tidligere. Koden er den samme som for Arduino-brett som finnes i Liquidcrystal-eksemplet. Programmet er enkelt og lett forståelig hvis du vil lære mer om programmet, sjekk vår LCD-grensesnitt med Arduino-programmet.
KODE:
#inkludere
Som vi så, brukte vi allerede 6 pins av NodeMCU. Det er allerede færre pinner tilgjengelig for dette lille brettet, og vi sitter igjen med få pinner for å koble til andre sensorer.
Så, for å løse dette problemet , bruker vi skiftregister IC som vil minimere nei. av pinner som brukes på NodeMCU.
Grensesnitt LCD med ESP12 ved bruk av Shift Register SN74HC595N:
Det er 8 utganger og 3 inngangspinner tilgjengelig i skiftregister IC. Vi bruker 6 utgangspinner for å koble til LCD-skjermen og 3 inngangspinner til NodeMCU.
Tilkoblinger av LCD med IC er gitt som:
D7 pin på LCD == pin 1 på IC
D6 pin på LCD == pin 2 i IC
D5 pin på LCD == pin 3 i IC
D4 pin på LCD == pin 4 i IC
RS-pinne på LCD == pinne 7 på IC
En pin på LCD == pin 15 i IC
Tilkobling av NodeMCU med IC:
D6 pin av NodeMCU == pin 14 av IC, DATA PIN av IC
D7 pin av NodeMCU == pin 12 av IC, LATCH PIN av IC
D8 pin av NodeMCU == pin 11 av IC, CLOCK PIN av IC
Koble PIN 16 og PIN 10 for IC til Vcc.
Koble PIN 8 og PIN 13 av IC til GND.
Lag krets nøye i henhold til diagrammet nedenfor:
Nå er maskinvaren vår klar til å programmeres.
Nå trenger vi et bibliotek " LiquidCrystal595 " som kan lastes ned fra denne lenken https://github.com/tehniq3/LiquidCrystal595 ved å følge trinnene nedenfor:
1. Gå til skisse- menyen til Arduino IDE.
2. Klikk på Inkluder bibliotek .
3. Klikk nå på Legg til.zip-bibliotek. Velg zip-fil du har lastet ned fra den gitte lenken, og den er ferdig.
Last nå opp koden nedenfor, og du vil se meldingen som skriver ut på LCD-skjermen.
KODE:
#inkludere
Koden er enkel da vi bare må oppgi datapinne, låsepinne og klokkepinne som argument i LiquidCrystal595 lcd (); og resten av koden er den samme som vi har gjort tidligere.
På denne måten har du nettopp lagret 3 pins av NodeMCU ved å bruke Shift Register.
Sjekk også 16x2 LCD-grensesnitt med andre mikrokontrollere:
- LCD-grensesnitt med PIC-mikrokontroller
- 16x2 LCD-grensesnitt med Raspberry Pi ved hjelp av Python
- Grensesnitt LCD med ATmega32 Microcontroller
- LCD-grensesnitt med 8051 mikrokontroller