- Требуемый материал:
- Регистр сдвига:
- Интерфейс ЖК-дисплея с ESP12 без использования регистра сдвига:
- КОД:
- Интерфейс ЖК-дисплея с ESP12 с использованием регистра сдвига SN74HC595N:
- КОД:
В этом руководстве мы увидим, как подключить NodeMCU к ЖК-дисплею 16x2 без использования связи I2C. Здесь мы будем взаимодействовать с ЖК-дисплеем 16x2, используя регистр сдвига SN74HC595. Мы также можем сопрягать его даже без использования сдвигового регистра. В этом уроке мы увидим оба вида взаимодействия. Основное различие между обоими интерфейсами - это количество контактов, используемых в NodeMCU.
Требуемый материал:
- NodeMCU ESP12E
- SN74HC595 Регистр сдвига IC
- ЖК-модуль 16x2
- Потенциометры
- Мужской-женский провода
- Макетная плата
Регистр сдвига:
В цифровых системах регистр сдвига представляет собой комбинацию триггеров, последовательно включенных каскадом и использующих одни и те же часы. В этом каскадном пакете данные из одного триггера действуют как входные данные для следующего триггера, что приводит к схеме, которая сдвигает на одну позицию битовый массив, хранящийся в нем.
ИС, которую мы собираемся использовать, - это SN74HC595N. Это простой 8-битный последовательный параллельный выходной регистр сдвига IC. Проще говоря, эта ИС позволяет добавлять к микроконтроллеру дополнительные входы или выходы путем преобразования данных между параллельным и последовательным форматами. Наш микроконтроллер использует 3 контакта этой ИС для последовательной передачи данных. Фактически 8-битный вывод будет поступать на 8 контактов после получения 8-битной информации от входных контактов. Узнайте больше о регистрах сдвига здесь.
Схема контактов и функции контактов IC SN74HC595N приведены ниже:
Здесь вы найдете интерфейс 74HC595N с Arduino и Raspberry pi.
Интерфейс ЖК-дисплея с ESP12 без использования регистра сдвига:
Если вы использовали ЖК-дисплей 16x2 с платой Arduino, это будет очень просто. Вам нужно просто подключить контакты в NodeMCU так же, как вы это сделали с платой Arduino.
В NodeMCU 16 контактов GPIO, нам нужно 6 контактов и gnd, vcc. Подключите контакты в соответствии со схемой, приведенной ниже:
Мы будем использовать 4 вывода данных и RS, EN ЖК-дисплея, которые подключаются как:
Вывод d7 LCD == вывод D8 NodeMCU
Вывод d6 LCD == вывод D7 NodeMCU
Вывод d5 LCD == вывод D6 NodeMCU
Вывод d4 LCD == вывод D5 NodeMCU
Вывод RS LCD == Вывод D2 NodeMCU
Вывод En ЖК-дисплея == Вывод D3 NodeMCU
Для этих подключений можно использовать любой GPIO.
Теперь загрузите код с помощью Arduino IDE, как объяснялось ранее. Код такой же, как и для платы Arduino, которую можно найти в примере Liquidcrystal. Программа проста и понятна, если вы хотите узнать больше о программе, проверьте наш ЖК-дисплей, взаимодействующий с программой Arduino.
КОД:
#включают
Как мы видели, мы уже использовали 6 контактов NodeMCU. Для этой маленькой платы уже доступно меньше контактов, и у нас осталось несколько контактов для подключения других датчиков.
Итак, чтобы решить эту проблему, мы будем использовать регистр сдвига IC, который минимизирует число. контактов, используемых на NodeMCU.
Интерфейс ЖК-дисплея с ESP12 с использованием регистра сдвига SN74HC595N:
В регистре сдвига IC имеется 8 выходных и 3 входных контакта. Мы будем использовать 6 выходных контактов для подключения к ЖК-дисплею и 3 входных контакта для NodeMCU.
Соединения ЖК-дисплея с ИС представлены следующим образом:
Вывод D7 ЖК-дисплея == вывод 1 микросхемы
Вывод D6 ЖК-дисплея == вывод 2 микросхемы
Вывод D5 ЖК-дисплея == вывод 3 микросхемы
Вывод D4 ЖК-дисплея == вывод 4 микросхемы
Вывод RS LCD == вывод 7 IC
Вывод En ЖК-дисплея == вывод 15 IC
Подключение NodeMCU к IC:
D6 контакт NodeMCU == контакт 14 IC, DATA PIN IC
Контакт D7 NodeMCU == контакт 12 IC, ПИН-код защелки IC
Вывод D8 NodeMCU == вывод 11 IC, ПИН-код ЧАСОВ IC
Подключите PIN 16 и PIN 10 IC к Vcc.
Подключите PIN 8 и PIN 13 IC к GND.
Тщательно соберите схему в соответствии с приведенной ниже схемой:
Теперь наше оборудование готово к программированию.
Теперь нам нужна библиотека LiquidCrystal595, которую можно загрузить по этой ссылке https://github.com/tehniq3/LiquidCrystal595, выполнив следующие шаги:
1. Перейти к меню эскиза Arduino IDE.
2. Щелкните « Включить библиотеку» .
3. Теперь щелкните Добавить библиотеку.zip. Выберите zip-файл, который вы скачали по указанной ссылке, и готово.
Теперь загрузите приведенный ниже код, и вы увидите сообщение, печатающее на ЖК-дисплее.
КОД:
#включают
Код прост, поскольку нам нужно просто указать вывод данных, вывод защелки и вывод часов в качестве аргумента в LiquidCrystal595 lcd (); а остальная часть кода такая же, как и раньше.
Таким образом, вы только что сохранили 3 контакта NodeMCU, используя регистр сдвига.
Также проверьте сопряжение ЖК-дисплея 16x2 с другими микроконтроллерами:
- Интерфейс ЖК-дисплея с микроконтроллером PIC
- Интерфейс ЖК-дисплея 16x2 с Raspberry Pi с использованием Python
- Сопряжение ЖК-дисплея с микроконтроллером ATmega32
- Интерфейс ЖК-дисплея с микроконтроллером 8051