- Potrebný materiál:
- Posuvný register:
- Rozhranie LCD s ESP12 bez použitia posuvného registra:
- KÓD:
- Rozhranie LCD s ESP12 pomocou posuvného registra SN74HC595N:
- KÓD:
V tomto výučbe uvidíme, ako prepojiť NodeMCU s 16x2 LCD bez použitia I2C komunikácie. Tu budeme prepojovať 16x2 LCD pomocou posuvného registra SN74HC595. Môžeme ho tiež prepojiť, aj keď nepoužívame žiadny posuvný register. V tomto tutoriále uvidíme obidva druhy rozhraní. Hlavným rozdielom medzi oboma rozhraniami je počet pinov použitých v NodeMCU.
Potrebný materiál:
- NodeMCU ESP12E
- SN74HC595 posuvný register IC
- 16x2 LCD modul
- Potenciometre
- Vodiče samec-samica
- Nepál
Posuvný register:
V digitálnych systémoch je posuvný register kombináciou žabiek, ktoré sú kaskádované v sérii a zdieľajú rovnaké hodiny. V tomto kaskádovom balíku fungujú dáta jedného flip-flopu ako dáta pre ďalší flip-flop, čo vedie k obvodu, ktorý posúva bitové pole v ňom uložené o jednu pozíciu.
IC, ktoré budeme používať, je SN74HC595N. Jedná sa o jednoduchý 8-bitový sériový port paralelne posúvajúci register IC. Jednoducho povedané, tento integrovaný obvod umožňuje pridať ďalšie vstupy alebo výstupy do mikrokontroléra prevodom údajov medzi paralelnými a sériovými formátmi. Náš mikrokontrolér používa na sériové zasielanie údajov 3 piny tohto integrovaného obvodu. V skutočnosti bude 8-bitový výstup prichádzať na 8 pinov po získaní 8-bitovej informácie zo vstupných pinov. Viac informácií o posuvných registroch sa dozviete tu.
Schéma PIN a funkcie PIN IC SN74HC595N sú uvedené nižšie:
Nájdete tu prepojenie 74HC595N s Arduino a Raspberry pi.
Rozhranie LCD s ESP12 bez použitia posuvného registra:
Pokiaľ ste s doskou Arduino používali 16x2 LCD, bude to veľmi jednoduché. Musíte len pripojiť pripináčiky v NodeMCU rovnako, ako ste to spravili s doskou Arduino.
V NodeMCU je 16 pinov GPIO a potrebujeme 6 pinov a gnd, vcc. Pripojte kolíky podľa schémy zapojenia uvedenej nižšie:
Použijeme 4 dátové piny a RS, EN na LCD, ktoré sú pripojené ako:
d7 pin LCD == D8 pin NodeMCU
d6 pin LCD == D7 pin NodeMCU
d5 pin LCD == D6 pin NodeMCU
d4 pin LCD == D5 pin NodeMCU
RS pin LCD == D2 pin NodeMCU
En pin LCD == D3 pin NodeMCU
Na tieto pripojenia môžete použiť ľubovoľné GPIO.
Teraz nahrajte kód pomocou Arduino IDE, ako už bolo vysvetlené vyššie. Kód je rovnaký ako pre dosku Arduino, ktorú nájdete v príklade Liquidcrystal. Program je jednoduchý a ľahko zrozumiteľný, ak sa chcete dozvedieť viac informácií o programe, skontrolujte náš LCD prepojený s programom Arduino.
KÓD:
#include
Ako sme videli, použili sme už 6 pinov NodeMCU. Pre túto malú dosku je už k dispozícii menej pinov a zostáva nám pár pinov na prepojenie ďalších senzorov.
Aby sme tento problém prekonali, použijeme posuvný register IC, ktorý minimalizuje č. pinov použitých na NodeMCU.
Rozhranie LCD s ESP12 pomocou posuvného registra SN74HC595N:
V posuvnom registri IC je k dispozícii 8 výstupných a 3 vstupné piny. Použijeme 6 výstupných pinov na spojenie s LCD a 3 vstupné piny na NodeMCU.
Pripojenia LCD k IC sú uvedené ako:
D7 pin LCD == pin 1 IC
D6 pin LCD == pin 2 IC
D5 pin LCD == pin 3 IC
D4 pin LCD == pin 4 IC
RS pin LCD == pin 7 IC
En pin LCD == pin 15 of IC
Prepojenie NodeMCU s IC:
D6 pin NodeMCU == pin 14 IC, DATA PIN IC
D7 pin NodeMCU == pin 12 IC, LATCH PIN IC
D8 pin NodeMCU == pin 11 IC, CLOCK PIN IC
Pripojte PIN 16 a PIN 10 IC k Vcc.
Pripojte PIN 8 a PIN 13 IC k GND.
Vykonajte obvod opatrne podľa nižšie uvedeného diagramu:
Teraz je náš hardvér pripravený na programovanie.
Teraz potrebujeme knižnicu „ LiquidCrystal595 “, ktorú si môžete stiahnuť z tohto odkazu https://github.com/tehniq3/LiquidCrystal595 podľa nasledujúcich krokov:
1. Prejdite na ponuku Skica Arduino IDE.
2. Kliknite na Zahrnúť knižnicu .
3. Teraz kliknite na Pridať knižnicu.zip. Vyberte súbor ZIP, ktorý ste stiahli z daného odkazu, a je hotový.
Teraz nahrajte nižšie uvedený kód a uvidíte správu tlačiacu na LCD.
KÓD:
#include
Tento kód je jednoduchý, pretože ako argument v LiquidCrystal595 lcd () musíme dať ako údajový pin, pin západky a clock pin iba argument ; a zvyšok kódu je rovnaký ako predtým.
Týmto spôsobom ste práve uložili 3 piny NodeMCU pomocou Shift Register.
Skontrolujte tiež prepojenie 16x2 LCD s inými mikrokontrolérmi:
- Rozhranie LCD s mikrokontrolérom PIC
- 16x2 LCD prepojenie s Raspberry Pi pomocou Pythonu
- Prepojenie LCD s mikrokontrolérom ATmega32
- Rozhranie LCD s mikrokontrolérom 8051