- Materiaal vereist:
- Shift Register:
- Interface LCD met ESP12 zonder Shift Register te gebruiken:
- CODE:
- Interface LCD met ESP12 met behulp van Shift Register SN74HC595N:
- CODE:
In deze tutorial zullen we zien hoe we NodeMCU kunnen koppelen met 16x2 LCD zonder I2C-communicatie te gebruiken. Hier zullen we een 16x2 LCD-interface gebruiken met behulp van schuifregister SN74HC595. We kunnen het ook koppelen, zelfs zonder een schuifregister te gebruiken. In deze tutorial zullen we beide soorten interfaces zien. Het belangrijkste verschil tussen beide interfaces is het aantal pinnen dat in NodeMCU wordt gebruikt.
Materiaal vereist:
- NodeMCU ESP12E
- SN74HC595 Schakelregister IC
- 16x2 LCD-module
- Potentiometers
- Man-vrouw draden
- Breadboard
Shift Register:
In digitale systemen is een schuifregister een combinatie van flip-flops die in serie zijn geschakeld en dezelfde klok delen. In dit gecascadeerde pakket fungeert data-uit van een flip-flop als data-in voor de volgende flip-flop, wat resulteert in een circuit dat de daarin opgeslagen bitreeks met één positie verschuift.
Het IC dat we gaan gebruiken is SN74HC595N. Het is een eenvoudig 8-bits serieel in parallel uit schuifregister IC. In eenvoudige bewoordingen maakt dit IC het mogelijk om extra inputs of outputs toe te voegen aan een microcontroller door gegevens om te zetten tussen parallelle en seriële formaten. Onze microcontroller gebruikt 3 pinnen van dit IC om gegevens serieel te verzenden. In feite komt 8-bits uitvoer op 8 pinnen nadat 8-bits informatie van invoerpinnen is ontvangen. Lees hier meer over schuifregisters.
PIN-diagram en PIN-functies van IC SN74HC595N wordt hieronder gegeven:
U vindt hier de interface van 74HC595N met Arduino en met Raspberry pi.
Interface LCD met ESP12 zonder Shift Register te gebruiken:
Als je 16x2 LCD met het Arduino-bord hebt gebruikt, zal het heel gemakkelijk gaan. Je hoeft alleen maar pinnen in NodeMCU aan te sluiten, net zoals je hebt gedaan met het Arduino-bord.
Er zijn 16 GPIO-pinnen in NodeMCU en we hebben 6 pinnen nodig en gnd, vcc. Verbind de pinnen volgens het onderstaande schakelschema:
We zullen 4 datapinnen en RS, EN of LCD gebruiken die zijn aangesloten als:
d7 pin van LCD == D8 pin van NodeMCU
d6 pin van LCD == D7 pin van NodeMCU
d5 pin van LCD == D6 pin van NodeMCU
d4 pin van LCD == D5 pin van NodeMCU
RS-pin van LCD == D2-pin van NodeMCU
En pin van LCD == D3 pin van NodeMCU
Voor deze verbindingen kunt u elke GPIO gebruiken.
Upload nu de code met Arduino IDE zoals eerder uitgelegd. Code is hetzelfde als voor Arduino-bord dat te vinden is in Liquidcrystal-voorbeeld. Het programma is eenvoudig en gemakkelijk te begrijpen. Als je meer wilt weten over het programma, kijk dan op onze LCD-interface met het Arduino-programma.
CODE:
# omvatten
Zoals we zagen, hebben we al 6 pinnen van NodeMCU gebruikt. Er zijn al minder pinnen beschikbaar voor dit kleine bord en we hebben nog maar een paar pinnen om andere sensoren te koppelen.
Dus om dit probleem op te lossen , zullen we schuifregister IC gebruiken die de nee minimaliseert. van pinnen gebruikt op NodeMCU.
Interface LCD met ESP12 met behulp van Shift Register SN74HC595N:
Er zijn 8 uitgangen en 3 ingangspennen beschikbaar in schuifregister IC. We zullen 6 outputpinnen gebruiken om verbinding te maken met het LCD-scherm en 3 inputpinnen voor NodeMCU.
Verbindingen van LCD met IC worden gegeven als:
D7 pin van LCD == pin 1 van IC
D6 pin van LCD == pin 2 van IC
D5 pin van LCD == pin 3 van IC
D4 pin van LCD == pin 4 van IC
RS pin van LCD == pin 7 van IC
En pin van LCD == pin 15 van IC
Verbinding van NodeMCU met IC:
D6 pin van NodeMCU == pin 14 van IC, DATA PIN van IC
D7 pin van NodeMCU == pin 12 van IC, LATCH PIN van IC
D8 pin van NodeMCU == pin 11 van IC, CLOCK PIN van IC
Verbind PIN 16 en PIN 10 van IC met Vcc.
Verbind PIN 8 en PIN 13 van IC met GND.
Maak Circuit zorgvuldig volgens onderstaand diagram:
Nu is onze hardware klaar om te programmeren.
Nu hebben we een bibliotheek " LiquidCrystal595 " nodig die kan worden gedownload via deze link https://github.com/tehniq3/LiquidCrystal595 door de onderstaande stappen te volgen:
1. Ga naar het schetsmenu van Arduino IDE.
2. Klik op Inclusief bibliotheek .
3. Klik nu op.zip-bibliotheek toevoegen. Kies zip-bestand dat u hebt gedownload van de gegeven link en het is klaar.
Upload nu de onderstaande code en u ziet een bericht dat op het LCD-scherm wordt afgedrukt.
CODE:
# omvatten
De code is eenvoudig, omdat we in LiquidCrystal595 lcd () de gegevenspin, latchpin en clockpin als argument moeten opgeven; en de rest van de code is hetzelfde als we eerder hebben gedaan.
Op deze manier heb je zojuist 3 pinnen van NodeMCU opgeslagen met behulp van Shift Register.
Controleer ook de 16x2 LCD-interface met andere microcontrollers:
- LCD-interface met PIC-microcontroller
- 16x2 LCD-interface met Raspberry Pi met Python
- Interfacing LCD met ATmega32 Microcontroller
- LCD-interface met 8051 Microcontroller