Оглавление:

ЖК-дисплей DIY I2C со входами: 6 шагов
ЖК-дисплей DIY I2C со входами: 6 шагов

Видео: ЖК-дисплей DIY I2C со входами: 6 шагов

Видео: ЖК-дисплей DIY I2C со входами: 6 шагов
Видео: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Ноябрь
Anonim
ЖК-дисплей DIY I2C со входами
ЖК-дисплей DIY I2C со входами

Типичный параллельный ЖК-дисплей, используемый с Arduino (16x2 или 20x4), имеет 16 контактов. На Arduino требуется только 6 контактов ввода / вывода, но что, если бы вы могли сократить это количество до двух контактов ввода / вывода, и по-прежнему иметь эти контакты для других устройств?

Интерфейс I2C находится на контактах A4 и A5 Arduino UNO. Они адресные и, следовательно, могут использоваться другими устройствами I2C, имеющими другие адреса. Теперь вы можете купить ЖК-дисплеи I2C и даже найти ЖК-дисплеи I2C с разными адресами, но обычно это двухстрочные ЖК-дисплеи с фиксированными адресами. Я собираюсь показать вам, как создать свой собственный интерфейс I2C, выбрать один из 8 адресов и даже добавить до 8 входов или выходов, используя микросхему расширения MCP23017 на 16 портов. Это тот же самый чип, который использует Adafruit. их I2C LCD Keypad Shield, и использует свою библиотеку для общения с ним. Вы даже можете иметь до 16 ЖК-дисплеев или до 128 цифровых контактов ввода / вывода и их комбинации.

MCP23017

ЖК-дисплей 20x4 или ЖК-дисплей 16x2

Шаг 1: Подключение ЖК-дисплея

ЖК-проводка
ЖК-проводка

На фотографии показаны соединения между параллельным ЖК-дисплеем типа Hitachi (2 или 4 строки) и MCP23017.

SDA (вывод 13 на MCP23017) подключается к Arduino A4, а SCL (вывод 12) подключается к Arduino A5. Некоторые предлагают подтягивающие резисторы на 4,7 кОм (вывод 13 на + 5 В и вывод 12 на + 5 В), но этот проект отлично работает без них.

Обратите внимание на резистор 220 Ом на разъеме k (катод, земля) ЖК-дисплея. Это ОБЯЗАТЕЛЬНО!

Без него можно взорвать штырь подсветки MCP23107. Есть 3 контакта, которые можно использовать для подсветки. Контакт 1 называется СИНИМ в Библиотеке и Эскизе, контакт 28 называется ЗЕЛЕНЫМ, а контакт 27 - КРАСНЫМ. Если у вас монохромный ЖК-дисплей, вы можете использовать любой из трех контактов и использовать соответствующие цветные обозначения. Если у вас есть подсветка RGB, вы можете получить множество комбинаций цветов. Ознакомьтесь с ними на

Контакты 15, 16 и 17 на MCP23017 определяют адрес I2C. У нас все 3 заземлены, так как это адрес по умолчанию, который использует библиотека Adafruit. Чтобы добавить несколько дисплеев или выбрать другой адрес, необходимо изменить библиотеку, поэтому пока мы будем использовать значение по умолчанию.

Adafruit_MCP23017.h содержит следующую строку:

#define MCP23017_ADDRESS 0x20

Контакт 17 = A2, контакт 16 = A1 и контакт 15 = A0

0 = земля, 1 = + 5В

Формат адреса - 0100A2A1A0, поэтому, поскольку мы заземлили все 3 линии, мы используем двоичное 0100000 или 20 в шестнадцатеричном формате (0x20). 0100111 будет 27 в шестнадцатеричном формате (0x27).

Шаг 2: Подключение кнопок ввода

Подключение кнопок ввода
Подключение кнопок ввода

Мы включаем в этот проект 5 кнопок ввода. Мы будем называть их «Влево», «Вправо», «Вверх», «Вниз» и «Выбрать». Стандартные кнопки идеально подходят для этого, но подойдет любой цифровой датчик включения / выключения.

Подключите кнопки следующим образом:

Слева соединяется между Gnd и контактом 25 MCP23017.

Право подключается между Gnd и контактом 22

Up соединяет Gnd и контакт 24

Вниз подключается между Gnd и контактом 23

Выберите соединение между Gnd и контактом 21

Шаг 3: ЖК-эскиз

ЖК-эскиз
ЖК-эскиз

Загрузите и установите библиотеку Adafruit, запустите пример «Hello World», и этот ЖК-интерфейс станет работоспособным. Мы использовали вывод 27 на MCP23017, поэтому указывайте КРАСНЫЙ только для монохромной подсветки.

Мы обратимся к редактированию адреса библиотеки, чтобы в будущем можно было использовать до 8 микросхем MCP23017. Напишите мне с вопросами.

Чтобы узнать о других проектах, в которых используется этот чип и дополнительный код, см.:

arduinotronics.blogspot.com/2015/11/wifi-rechargeable-internet-clock.html

arduinotronics.blogspot.com/2015/10/add-up-to-128-inputsoutputs-or-mix-to.html

Шаг 4: Как это работает

Image
Image

Вот проект, который мы создали с использованием версии этого проекта для Adafruit. Версия DIY имеет такую же проводку, но у вас может быть монохромная версия вместо подсветки RGB.

Шаг 5: техническое описание

Полная таблица доступна на

Рекомендуемые: