- Wymagany materiał:
- Rejestr zmianowy:
- Interfejs LCD z ESP12 bez użycia Shift Register:
- KOD:
- Interfejs LCD z ESP12 przy użyciu rejestru przesuwnego SN74HC595N:
- KOD:
W tym samouczku zobaczymy, jak połączyć NodeMCU z wyświetlaczem LCD 16x2 bez używania komunikacji I2C. Tutaj połączymy 16x2 LCD za pomocą rejestru przesuwnego SN74HC595. Możemy również interfejsować go nawet bez korzystania z rejestru przesuwnego. W tym samouczku zobaczymy oba rodzaje interakcji. Główną różnicą między obydwoma interfejsami jest liczba pinów używanych w NodeMCU.
Wymagany materiał:
- NodeMCU ESP12E
- SN74HC595 Rejestr przesuwny IC
- Moduł LCD 16x2
- Potencjometry
- Przewody męsko-żeńskie
- Płytka prototypowa
Rejestr zmianowy:
W systemach cyfrowych rejestr przesuwny jest kombinacją przerzutników, które są połączone kaskadowo i mają ten sam zegar. W tym kaskadowym pakiecie wyjście danych z jednego przerzutnika działa jak wejście danych dla następnego przerzutnika, co skutkuje w obwodzie, który przesuwa o jedną pozycję przechowywaną w nim tablicę bitów.
Układ scalony, którego będziemy używać, to SN74HC595N. Jest to prosty 8-bitowy układ scalony z równoległym rejestrem przesuwnym. W prostych słowach, ten układ scalony umożliwia dodanie dodatkowych wejść lub wyjść do mikrokontrolera poprzez konwersję danych między formatami równoległym i szeregowym. Nasz mikrokontroler używa 3 pinów tego układu scalonego do szeregowego przesyłania danych. W rzeczywistości 8-bitowe wyjście będzie przychodzić na 8 pinach po uzyskaniu 8-bitowych informacji z pinów wejściowych. Dowiedz się więcej o rejestrach zmian tutaj.
Schemat PIN i funkcje PIN IC SN74HC595N podano poniżej:
Znajdziesz tutaj interfejs 74HC595N z Arduino i Raspberry pi.
Interfejs LCD z ESP12 bez użycia Shift Register:
Jeśli użyłeś 16x2 LCD z płytą Arduino, będzie to bardzo łatwe. Musisz po prostu podłączyć szpilki w NodeMCU tak samo, jak zrobiłeś to z płytką Arduino.
W NodeMCU jest 16 pinów GPIO i potrzebujemy 6 pinów i gnd, vcc. Podłącz piny zgodnie ze schematem obwodu podanym poniżej:
Użyjemy 4 pinów danych i RS, EN LCD, które są połączone jako:
pin d7 LCD == pin D8 NodeMCU
pin d6 LCD == pin D7 NodeMCU
pin d5 LCD == pin D6 NodeMCU
pin d4 LCD == pin D5 NodeMCU
Pin RS LCD == pin D2 NodeMCU
En pin LCD == D3 pin NodeMCU
Do tych połączeń można użyć dowolnego GPIO.
Teraz prześlij kod za pomocą Arduino IDE, jak wyjaśniono wcześniej. Kod jest taki sam jak dla płytki Arduino, którą można znaleźć na przykładzie Liquidcrystal. Program jest prosty i zrozumiały, jeśli chcesz dowiedzieć się więcej o programie, sprawdź nasz interfejs LCD z programem Arduino.
KOD:
#zawierać
Jak widzieliśmy, użyliśmy już 6 pinów NodeMCU. Jest już mniej dostępnych pinów dla tej małej płytki i pozostaje nam kilka pinów do połączenia z innymi czujnikami.
Tak więc, aby przezwyciężyć ten problem , użyjemy układu scalonego rejestru przesuwnego, który zminimalizuje nie. pinów używanych w NodeMCU.
Interfejs LCD z ESP12 przy użyciu rejestru przesuwnego SN74HC595N:
W układzie scalonym rejestru przesuwnego dostępnych jest 8 pinów wyjściowych i 3 wejściowe. Użyjemy 6 pinów wyjściowych do połączenia z wyświetlaczem LCD i 3 pinów wejściowych do NodeMCU.
Połączenia LCD z IC są podane jako:
Pin D7 LCD == pin 1 IC
Pin D6 LCD == pin 2 IC
Pin D5 LCD == pin 3 IC
Pin D4 LCD == pin 4 IC
Pin RS LCD == pin 7 IC
En pin LCD == pin 15 IC
Połączenie NodeMCU z IC:
Pin D6 NodeMCU == pin 14 układu scalonego, PIN DANYCH układu scalonego
Pin D7 NodeMCU == pin 12 układu scalonego, PIN zatrzaskowy układu scalonego
Pin D8 NodeMCU == pin 11 układu scalonego, PIN ZEGARA układu scalonego
Podłącz PIN 16 i PIN 10 IC do Vcc.
Podłącz PIN 8 i PIN 13 IC do GND.
Ostrożnie wykonaj obwód zgodnie z poniższym schematem:
Teraz nasz sprzęt jest gotowy do programowania.
Teraz potrzebujemy biblioteki „ LiquidCrystal595 ”, którą można pobrać z tego linku https://github.com/tehniq3/LiquidCrystal595, wykonując poniższe czynności:
1. Przejdź do menu szkicu Arduino IDE.
2. Kliknij Dołącz bibliotekę .
3. Teraz kliknij Dodaj bibliotekę.zip. Wybierz plik zip, który pobrałeś z podanego linku i gotowe.
Teraz wgraj kod podany poniżej, a na wyświetlaczu LCD pojawi się komunikat.
KOD:
#zawierać
Kod jest prosty, ponieważ musimy po prostu podać pin danych, pin zatrzaskowy i pin zegara jako argument w lcd () LiquidCrystal595; a reszta kodu jest taka sama, jak poprzednio.
W ten sposób właśnie zapisałeś 3 piny NodeMCU za pomocą rejestru Shift.
Sprawdź także połączenia LCD 16x2 z innymi mikrokontrolerami:
- Połączenie LCD z mikrokontrolerem PIC
- Interfejs LCD 16x2 z Raspberry Pi przy użyciu Pythona
- Interfejs LCD z mikrokontrolerem ATmega32
- Połączenie LCD z mikrokontrolerem 8051