- Erforderliches Material:
- Schieberegister:
- Schnittstelle LCD mit ESP12 ohne Verwendung des Schieberegisters:
- CODE:
- Schnittstelle LCD mit ESP12 unter Verwendung des Schieberegisters SN74HC595N:
- CODE:
In diesem Tutorial erfahren Sie, wie Sie NodeMCU mit 16x2 LCD verbinden, ohne die I2C-Kommunikation zu verwenden. Hier werden wir 16x2 LCD mit dem Schieberegister SN74HC595 verbinden. Wir können es auch ohne Schieberegister anschließen. In diesem Tutorial werden wir beide Arten von Schnittstellen sehen. Der Hauptunterschied zwischen beiden Schnittstellen ist die Anzahl der in NodeMCU verwendeten Pins.
Erforderliches Material:
- NodeMCU ESP12E
- SN74HC595 Schieberegister-IC
- 16x2 LCD-Modul
- Potentiometer
- Stecker-Buchse-Drähte
- Steckbrett
Schieberegister:
In digitalen Systemen ist ein Schieberegister eine Kombination von Flip-Flops, die in Reihe geschaltet sind und denselben Takt teilen. In diesem kaskadierten Paket fungiert der Datenausgang eines Flipflops als Dateneingang für das nächste Flipflop, was zu einer Schaltung führt, die das darin gespeicherte Bitarray um eine Position verschiebt.
Der IC, den wir verwenden werden, ist SN74HC595N. Es ist ein einfacher 8-Bit-Serien-Parallel-Out-Schieberegister-IC. Mit einfachen Worten, dieser IC ermöglicht das Hinzufügen zusätzlicher Ein- oder Ausgänge zu einem Mikrocontroller durch Konvertieren von Daten zwischen parallelen und seriellen Formaten. Unser Mikrocontroller verwendet 3 Pins dieses ICs, um Daten seriell zu senden. Tatsächlich wird der 8-Bit-Ausgang auf 8 Pins kommen, nachdem 8-Bit-Informationen von den Eingangspins erhalten wurden. Erfahren Sie hier mehr über Schieberegister.
Das PIN-Diagramm und die PIN-Funktionen des IC SN74HC595N sind nachstehend aufgeführt:
Die Schnittstelle von 74HC595N mit Arduino und mit Raspberry pi finden Sie hier.
Schnittstelle LCD mit ESP12 ohne Verwendung des Schieberegisters:
Wenn Sie ein 16x2-LCD mit der Arduino-Platine verwendet haben, ist dies sehr einfach. Sie müssen nur die Pins in NodeMCU anschließen, genau wie Sie es mit dem Arduino-Board getan haben.
Es gibt 16 GPIO-Pins in NodeMCU und wir benötigen 6 Pins und gnd, vcc. Verbinden Sie die Stifte gemäß dem unten angegebenen Schaltplan:
Wir werden 4 Datenpins und RS, EN des LCD verwenden, die wie folgt verbunden sind:
d7 Pin des LCD == D8 Pin der NodeMCU
d6 Pin des LCD == D7 Pin der NodeMCU
d5 Pin des LCD == D6 Pin der NodeMCU
d4 Pin des LCD == D5 Pin der NodeMCU
RS-Pin des LCD == D2-Pin der NodeMCU
En Pin von LCD == D3 Pin von NodeMCU
Sie können für diese Verbindungen ein beliebiges GPIO verwenden.
Laden Sie nun den Code mit der Arduino IDE hoch, wie zuvor erläutert. Der Code ist der gleiche wie für das Arduino-Board, das im Liquidcrystal-Beispiel zu finden ist. Das Programm ist einfach und leicht verständlich, wenn Sie mehr über das Programm erfahren möchten. Überprüfen Sie unsere LCD-Schnittstelle zum Arduino-Programm.
CODE:
#einschließen
Wie wir gesehen haben, haben wir bereits 6 Pins NodeMCU verwendet. Für dieses kleine Board sind bereits weniger Pins verfügbar, und wir haben nur noch wenige Pins, um andere Sensoren anzuschließen.
Um dieses Problem zu lösen, verwenden wir einen Schieberegister-IC, der die Nr. Minimiert. der auf NodeMCU verwendeten Pins.
Schnittstelle LCD mit ESP12 unter Verwendung des Schieberegisters SN74HC595N:
Im Schieberegister-IC stehen 8 Ausgangs- und 3 Eingangspins zur Verfügung. Wir werden 6 Ausgangspins für die Verbindung mit dem LCD und 3 Eingangspins für die NodeMCU verwenden.
Die Anschlüsse des LCD mit dem IC sind wie folgt:
D7 Pin des LCD == Pin 1 des IC
D6 Pin des LCD == Pin 2 des IC
D5 Pin des LCD == Pin 3 des IC
D4 Pin des LCD == Pin 4 des IC
RS-Pin des LCD == Pin 7 des IC
En Pin des LCD == Pin 15 des IC
Verbindung von NodeMCU mit IC:
D6 Pin von NodeMCU == Pin 14 von IC, DATA PIN von IC
D7 Pin von NodeMCU == Pin 12 von IC, LATCH PIN von IC
D8 Pin von NodeMCU == Pin 11 von IC, CLOCK PIN von IC
Verbinden Sie PIN 16 und PIN 10 des IC mit Vcc.
Verbinden Sie PIN 8 und PIN 13 des IC mit GND.
Machen Sie die Schaltung sorgfältig gemäß dem folgenden Diagramm:
Jetzt ist unsere Hardware programmierbereit.
Jetzt benötigen wir eine Bibliothek „ LiquidCrystal595 “, die unter folgendem Link unter diesem Link https://github.com/tehniq3/LiquidCrystal595 heruntergeladen werden kann:
1. Gehen Sie zum Sketch- Menü der Arduino IDE.
2. Klicken Sie auf Bibliothek einschließen .
3. Klicken Sie nun auf ZIP-Bibliothek hinzufügen. Wählen Sie die Zip-Datei, die Sie von einem bestimmten Link heruntergeladen haben, und fertig.
Laden Sie nun den unten angegebenen Code hoch und Sie sehen eine Meldung, die das LCD druckt.
CODE:
#einschließen
Der Code ist einfach, da wir in LiquidCrystal595 lcd () nur Daten-Pin, Latch-Pin und Clock-Pin als Argument angeben müssen. und der Rest des Codes ist der gleiche wie zuvor.
Auf diese Weise haben Sie gerade 3 Pins NodeMCU mithilfe des Schieberegisters gespeichert.
Überprüfen Sie auch die 16x2-LCD-Schnittstelle mit anderen Mikrocontrollern:
- LCD-Schnittstelle mit PIC-Mikrocontroller
- 16x2 LCD-Schnittstelle mit Raspberry Pi mit Python
- Schnittstelle zwischen LCD und ATmega32-Mikrocontroller
- LCD-Schnittstelle mit 8051-Mikrocontroller