- Необхідний матеріал:
- Реєстр зміни:
- Інтерфейс РК-дисплея з ESP12 без використання Shift Register:
- КОД:
- Інтерфейс РК-дисплея з ESP12 за допомогою реєстру зсуву SN74HC595N:
- КОД:
У цьому посібнику ми побачимо, як взаємодіяти NodeMCU з РК-дисплеєм 16x2 без використання I2C-зв'язку. Тут ми взаємодіємо з РК-дисплеєм 16x2, використовуючи регістр зсуву SN74HC595. Ми також можемо взаємодіяти з нею навіть без використання будь-якого регістру зсуву. У цьому посібнику ми побачимо обидва типи взаємодії. Основна різниця між обома взаємозв'язками - це кількість штифтів, що використовуються в NodeMCU.
Необхідний матеріал:
- NodeMCU ESP12E
- SN74HC595 IC Реєстр зсуву
- РК-модуль 16x2
- Потенціометри
- Чоловіче-жіночі дроти
- Макет
Реєстр зміни:
У цифрових системах регістр зсуву - це комбінація тригерів, які послідовно каскадуються і мають однакові годинники. У цьому каскадному пакеті виведення даних одного триггера виконує функцію введення даних для наступного триггера, що призводить до схеми, яка зміщує на одну позицію бітовий масив, що зберігається в ньому.
ІС, яку ми будемо використовувати, це SN74HC595N. Це простий 8-бітний послідовний паралельний мікросхемний регістр зсуву. Простими словами, ця ІС дозволяє додавати додаткові входи або виходи до мікроконтролера шляхом перетворення даних між паралельним та послідовним форматами. Наш мікроконтролер використовує 3 висновки цього мікросхеми для послідовної передачі даних. Фактично 8-бітний вихід буде надходити на 8 контактів після отримання 8-бітної інформації з вхідних контактів. Дізнайтеся більше про регістри змін тут.
Схема PIN-коду та функції PIN-коду IC SN74HC595N наведені нижче:
Тут ви знайдете взаємодію 74HC595N з Arduino та Raspberry pi.
Інтерфейс РК-дисплея з ESP12 без використання Shift Register:
Якщо ви використовували 16x2 РК-дисплей з платою Arduino, це буде дуже легко. Вам потрібно просто підключити шпильки в NodeMCU так само, як це було зроблено з платою Arduino.
У NodeMCU є 16 штифтів GPIO, і нам потрібно 6 штифтів та gnd, vcc. З'єднайте штифти відповідно до схеми, наведеної нижче:
Ми будемо використовувати 4 висновки для передачі даних та RS, EN РК-дисплея, які підключені як:
d7 штифт РК == D8 штифт NodeMCU
d6 штифт РК == D7 штифт NodeMCU
d5 штифт РК == D6 штифт NodeMCU
d4 штифт РК == D5 штифт NodeMCU
RS штифт РК == D2 штифт NodeMCU
En штифт РК == D3 штифт NodeMCU
Для цих з’єднань можна використовувати будь-який GPIO.
Тепер завантажте код за допомогою Arduino IDE, як пояснювалося раніше. Код такий же, як і для плати Arduino, яку можна знайти в прикладі Liquidcrystal. Програма проста і зрозуміла, якщо ви хочете дізнатись більше про програму, перевірте наш РК-інтерфейс із програмою Arduino.
КОД:
#включати
Як ми побачили, ми вже використовували 6 штифтів NodeMCU. Для цієї маленької плати вже доступно менше контактів, і у нас залишається мало контактів для взаємодії з іншими датчиками.
Отже, для подолання цієї проблеми ми використовуватимемо ІС регістру зсуву, який мінімізує значення no. шпильок, що використовуються на NodeMCU.
Інтерфейс РК-дисплея з ESP12 за допомогою реєстру зсуву SN74HC595N:
Є 8 вихідних і 3 вхідні штифти, доступні в ІС регістру зсуву. Ми використовуватимемо 6 вихідних штифтів для підключення до РК-дисплея та 3 вхідні штифти до NodeMCU.
З'єднання РК з ІС даються як:
D7 штифт РК == штифт 1 ІС
D6 штифт РК == штифт 2 ІС
D5 штир РК == штифт 3 ІС
D4 штифт РК == штифт 4 ІС
RS штифт РК == штифт 7 ІС
En контакт РК == контакт 15 IC
Підключення NodeMCU до ІС:
D6 контакт NodeMCU == контакт 14 IC, DATA PIN IC
D7 контакт NodeMCU == контакт 12 IC, LATCH PIN IC
D8 контакт NodeMCU == контакт 11 IC, CLOCK PIN IC
Підключіть PIN 16 та PIN 10 IC до Vcc.
Підключіть PIN 8 та PIN 13 IC до GND.
Складно зробіть схему згідно з наведеною нижче схемою:
Тепер наше обладнання готове до програмування.
Тепер нам потрібна бібліотека “ LiquidCrystal595 ”, яку можна завантажити за цим посиланням https://github.com/tehniq3/LiquidCrystal595, виконавши наступні кроки:
1. Перейдіть до меню Sketch в Arduino IDE.
2. Клацніть на Включити бібліотеку .
3. Тепер натисніть Додати бібліотеку.zip. Оберіть zip-файл, який ви завантажили за даним посиланням, і закінчите.
Тепер завантажте код, вказаний нижче, і ви побачите повідомлення, що друкує РК-дисплей.
КОД:
#включати
Код простий, тому що ми просто повинні вказати штифт даних, штифт фіксатора та штифт годинника як аргумент у LiquidCrystal595 lcd (); а решта коду така ж, як і раніше.
Таким чином, ви щойно зберегли 3 шпильки NodeMCU за допомогою Shift Register.
Також перевірте взаємодію РК-дисплея 16x2 з іншими мікроконтролерами:
- РК-інтерфейс з мікроконтролером PIC
- РК-інтерфейс 16x2 з Raspberry Pi за допомогою Python
- Зв'язок РК з мікроконтролером ATmega32
- РК-інтерфейс з мікроконтролером 8051