FLASH-I2C адаптер для LCD 1602/2004
Общие сведения:
I2C-flash адаптер для LCD дисплеев 1602/2004 — является преобразователем интерфейсов который обеспечивает обмен данными между двумя шинами: параллельной шиной LCD и шиной I2C. Наличие связи между этими шинами позволяет работать с LCD дисплеем по шине I2C.
- К одной шине LCD можно подключить один LCD дисплей 1602 или 2004.
- К одной шине I2C можно подключить более 100 адаптеров. Адрес адаптера на шине I2C (по умолчанию 0x09) назначается программно и хранится в его энергонезависимой памяти.
Адаптер применяется для управления LCD дисплеями 1602 или 2004 по шине I2C, что экономит количество выводов используемых для подключения дисплея. Вместо 8 выводов к которым можно подключить всего 1 дисплей, используется 2 вывода к которым можно подключить более 100 дисплеев.
Видео:
Спецификация:
- Напряжение питания: 3,3 В или 5 В (постоянного тока).
- Потребляемый ток: до 6 мА.
- Интерфейс: I2C.
- Скорость шины I2C: 100 кбит/с.
- Адрес на шине I2C: устанавливается программно (по умолчанию 0x09).
- Уровень логической 1 на линиях шины I2C: 3,3 В (толерантны к 5 В).
- Рабочая температура: от -20 до +70 °С.
- Габариты: 41,91 х 17,15 мм (1650 x 675 mil).
- Вес: 6 г.
Подключение:
По умолчанию все модули FLASH-I2C имеют установленный адрес 0х09.
— Перед подключением 1 модуля к шине I2C настоятельно рекомендуется изменить адрес модуля.
— При подключении 2 и более FLASH-I2C модулей к шине необходимо в обязательном порядке предварительно изменить адрес каждого модуля, после чего уже подключать их к шине.
Более подробно о том, как это сделать, а так же о многом другом, что касается работы FLASH-I2C модулей, вы можете прочесть в этой статье.
В верхней части платы расположена колодка шины LCD для подключения дисплея.
- GND — общий вывод питания.
- Vcc — вывод питания LCD дисплея 3,3 или 5 В (выбирается перемычками на плате).
- VO — (Voltage cOntrast) контрастность экрана.
- RS — (Register Select) линия выбора регистра команд / данных.
- RW — (Read/Write) линия выбора направления передачи.
- E — (Enable) линия тактирования по спаду.
- D0-D7 — (Data) линии данных (адаптер использует только D4-D7).
- A — (Anode) положительный вывод питания подсветки LCD дисплея.
- K — (Cathode) отрицательный вывод питания подсветки LCD дисплея.
По бокам платы расположены разъемы для подключения адаптера к шине I2C. Шина подключается к любому разъему I2C, а второй разъем можно использовать для подключения следующего адаптера, или других устройств.
- SCL — вход/выход линии тактирования шины I2C.
- SDA — вход/выход линии данных шины I2C.
- Vcc — вход питания 3,3 или 5 В.
- GND — общий вывод питания.
По центру платы расположены две перемычки выбора питания LCD дисплея.
- 5V — установка данной перемычки соединит вывод Vcc шины LCD с выводом Vcc шины I2C.
- 3V3 — установка данной перемычки подключит вывод Vcc шины LCD к стабилизатору +3,3 В.
- Не устанавливайте обе перемычки одновременно, это может повредить адаптер и дисплей.
Подключение дисплея к адаптеру:
LCD Дисплей 1602 или 2004 подключается к колодке LCD адаптера. Распиновка колодки адаптера совпадает с распиновкой колодки дисплея. После подключения дисплея к адаптеру нужно настроить контрастность экрана.
Для настройки контрастности экрана установите переключатель режима работы адаптера в положение «ADR» и подайте питание на шину I2C. Плавно поворачивайте отвёрткой крестовину подстроечного резистора (рядом с которым присутствует надпись «КОНТРАСТ») до появления на экране текста с указанием адреса и яркости. После настройки контрастности экрана установите переключатель режима работы адаптера в положение «ON».
Питание:
Входное напряжение питания адаптера зависит от напряжения питания LCD дисплея.
- Если к адаптеру подключён дисплей требующий питания 5В, то на выводы Vcc и GND колодки I2C подается напряжение 5В постоянного тока, а на плате адаптера замыкается перемычка «5V».
- Если к адаптеру подключён дисплей требующий питания 3,3В, то на выводы Vcc и GND колодки I2C подается напряжение 3,3В или 5В постоянного тока (поддерживаются оба напряжения), а на плате адаптера замыкается перемычка «3V3».
Подробнее о модуле:
Адаптер построен на базе микроконтроллера STM32F030F4, снабжен собственным стабилизатором напряжения, резистором настройки контрастности дисплея и переключателем режима работы: «ON» и «ADR».
- Если переключатель установлен в положение «ON», то адаптер находится в основном режиме работы, при котором осуществляется обмен данными между шинами LCD и I2C, что позволяет работать с LCD дисплеем по шине I2C. Работа с LCD дисплеем выполняется так же, как и при использовании конвертера на базе чипа PCF8574, что делает адаптер полностью совместимым с библиотеками разработанными для I2C LCD дисплеев 1602 и 2004.
- Если переключатель установлен в положение «ADR», то адаптер работает в режиме адресного доступа к своим регистрам, что позволяет управлять настройками адаптера. В этом режиме нельзя работать с LCD дисплеем, на его экране будет отображаться информация о текущем адресе адаптера на шине I2C и о установленной яркости подсветки дисплея в %. Доступ к регистрам адаптера осуществляется по шине I2C.
Адаптер позволяет настроить такие параметры как:
- Адрес адаптера на шине I2C. При изменении адреса, можно указать, что новый адрес должен сохраниться в flash память модуля, а значит адрес сохранится и после отключения питания.
- Яркость свечения подсветки дисплея. Значение яркости от 0 до 100% автоматически сохраняется в flash память модуля (сохранится после отключения и включения питания).
- Подтяжка линий шины I2C (по умолчанию включена). В случае наличия на шине I2C большого количества модулей с подтяжкой линий SDA и SCL, отключение подтяжки некоторых модулей может существенно улучшить связь с микроконтроллером.
Для настройки параметров адаптера не требуются библиотеки.
Для работы с LCD дисплеями 1602 и 2004 по шине I2C предлагаем воспользоваться библиотекой LiquidCrystal_I2C_V112.
Подробнее про установку библиотеки читайте в нашей инструкции.
Примеры:
Вывод данных на LCD дисплей:
Для работы с LCD дисплеем нужно установить переключатель работы адаптера в положение «ON» (режим работы с дисплеем). Работа с дисплеем осуществляется так же как и при использовании конвертера на базе чипа PCF8574.
Вывод текста на дисплей:
Данный пример выводит на дисплей текст «LCD» и «www.iarduino.ru».
Обратите внимание на параметры указанные при объявлении объекта lcd(0x09,16,2); в 3 строке скетча.
- Первый параметр 0x09 указывает адрес дисплея на шине I2C. Это значение можно увидеть установив переключатель режима работы адаптера в положение «ADR» (не забудьте вернуть переключатель в положение «ON» для работы с дисплеем).
- Второй параметр 16 указывает количество столбцов на экране дисплея (значение 16 для 1602 и 20 для 2004).
- Третий параметр 2 указывает количество строк на экране дисплея (значение 2 для 1602 и 4 для 2004).
Другие примеры вывода данных на LCD дисплей:
Для работы с LCD дисплеем нужно установить переключатель работы адаптера в положение «ON» (режим работы с дисплеем). Так как работа с дисплеем осуществляется так же как и при использовании конвертера на базе чипа PCF8574, то все примеры приведённые на странице Wiki — Работа с символьными ЖК дисплеями 1602,2004 I2C, можно использовать без изменений скетча, нужно только изменить адрес 0x27 на адрес Вашего дисплея.
Изменение яркости подсветки экрана:
Яркость подсветки является настройкой адаптера, а значит для её установки необходимо установить переключатель режима работы адаптера в положение «ARD», при этом на экране появится текст информирующий о текущем адресе на шине I2C и яркости подсветки в %.
- Во второй строке скетча (вместо значения 127 ) нужно указать требуемую яркость подсветки экрана дисплея, это значение в пределах от 0 (нет) до 255 (максимальная яркость).
- В третьей строке скетча (вместо значения 0x09 ) нужно указать текущий адрес адаптера на шине I2C (он отображается на экране дисплея).
Скетч сохраняет яркость в flash памяти адаптера, это значит что дисплей будет работать с указанной яркостью даже после отключения и подачи питания, до тех пор пока не будет установлена новая яркость. После применения новой яркости её значение отобразится на экране.
После сохранения требуемой яркости подсветки не забудьте вернуть переключатель в положение «ON» для перевода адаптера в режим работы с LCD дисплеем.
Изменение адреса адаптера на шине I2C:
Адрес адаптера является настройкой адаптера, а значит для его установки необходимо установить переключатель режима работы адаптера в положение «ARD», при этом на экране появится текст информирующий о текущем адресе на шине I2C и яркости подсветки в %.
Адаптер позволяет менять свой адрес на шине I2C как временно, так и постоянно.
- Временный адрес становится адресом адаптера, но не сохраняется в его flash памяти, а значит после отключения питания, у адаптера будет восстановлен прежний адрес.
- Постоянный адрес становится адресом адаптера который сохранится в его flash памяти, а значит постоянный адрес сохранится и после отключения питания.
В данном примере адаптеру можно присвоить как временный, так и постоянный адрес на шине I2C.
- Во второй строке скетча (вместо значения 0x09 ) нужно указать текущий адрес адаптера на шине I2C (он отображается на экране дисплея).
- В третьей строке скетча (вместо значения 0x0A ) нужно указать новый адрес адаптера на шине I2C (допускаются значения: 0x07 0x7F ).
- В четвертой строке скетча нужно определить, как будет установлен новый адрес адаптера на шине I2C: true — постоянно, false — временно.
Если установлен постоянный адрес, то он появится на экране дисплея, если установлен временный адрес, то на экране дисплея отобразятся два адреса, сначала временный (текущий адрес адаптера), а потом постоянный (адрес который восстановится после отключения питания).
После установки адреса адаптера на шине I2C не забудьте вернуть переключатель в положение «ON» для перевода адаптера в режим работы с LCD дисплеем.
Управление внутренней подтяжкой линий шины I2C:
Внутренняя подтяжка линий шины I2C является настройкой адаптера, а значит для управления ей необходимо установить переключатель режима работы адаптера в положение «ARD», при этом на экране появится текст информирующий о текущем адресе на шине I2C и яркости подсветки в %.
В данном примере можно управлять внутренней подтяжкой линий шины I2C до уровня 3,3 В. На линии I2C допускается устанавливать внешние подтягивающие резисторы и иные модули с подтяжкой до уровня 3,3 В и выше, вне зависимости от состояния внутренней подтяжки адаптера.
Во второй строке скетча нужно определить состояние внутренней подтяжки линий шины I2C: true — включить, false — отключить.
В третьей строке скетча (вместо значения 0x09 ) нужно указать текущий адрес адаптера на шине I2C (он отображается на экране дисплея).
После настройки подтяжек линий шины I2C не забудьте вернуть переключатель в положение «ON» для перевода адаптера в режим работы с LCD дисплеем.
Обзор интерфейсного модуля IIC, I2C, TWI для LCD
Автор: Сергей · Опубликовано 16.09.2016 · Обновлено 14.04.2021
В этой статье расскажу, как использовать интерфейсный модуль I2C для управления LCD дисплеем (2×16 / 20х4) с помощью Arduino. Данный модуль позволяет уменьшить количество используемых выводов контроллера, вместо 8 или 4-битного соединения, требуется только 2 вывода (SDA и SCL).
Технические параметры
► Поддержка дисплеев: LCD 16×02 / 20×04
► Дополнительно: регулировка контрастности
► Напряжение питания. 5В
► Интерфейс: I2C
► Габариты: 54мм x 19мм x 15мм
Общие сведения интерфейсного модуля I2C
Поскольку количество контактов на контроллерах Arduino ограничено и часто при использовании различных датчиков и модулей они заканчиваются, появляется необходимость в их экономии, для этих случай разработан этот модуль, с его помощью можно реализовать передачу по двум контактам (SDA и SCL).
Теперь немного о самом модуле, построен он на микросхеме PCF8574T. Резисторы R8 (4.7кОм) и R9 (4.7кОм) необходимы для подтяжки линий SDA и SCL, в идеале при подключении двух и более устройств по шине I2C необходимо использовать подтяжку только на одном устройств, позже напишу почему. На плате предусмотрены три перемычки (по схеме видно что линии A0, A1, A2 подтянуты к питанию через резисторы R4, R5, R6), необходимы они для смены адресации устройства, всего их 8 вариантов. Изменение адресации дает нам возможность подключения до восьми устройств по шине IC2 c микросхемой PCF8574T, варианты адресов показаны на рисунке (по умолчанию адрес устройства 0x27). Так же модуль оснащен потенциометром R11 с его помощью можно изменить контрастность LCD дисплея.
Для соединения на модуле расположено три группы контактов:
Первая группа:
► SCL: линия тактирования (Serial CLock)
► SDA: линия данных (Serial Dфta)
► VCC: «+» питание
► GND: «-» питание
Вторая группа:
► VSS: «-» питание
► VDD: «+» питание
► VO: Вывод управления контрастом
► RS: Выбор регистра
► RW: Чтение/запись ( режим записи при соединении с землей)
► E: Еnable (строб по спаду)
► DB0-DB3: Младшие биты интерфейса
► DB4-DB7: Старшие биты интерфейса
► A: «+» питания подсветки
► K: «-» питания подсветки
Третья группа: (по умолчанию установлена перемычка)
► VCC:
► A от LCD:
Подключение к Arduino
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► LCD-дисплей 1602A (2×16, 5V, Синий) x 1 шт.
► Интерфейсный модуль I2C, IIC, TWI для LCD x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
Подключение:
Первым делом, припаиваем модуль I2C к LCD дисплею, затем необходимо подключить дисплей к Arduino UNO. Для этого воспользуемся проводками DuPont, подключение осуществляем по таблице ниже.
Для наглядности, приведу еще одну схему.
Для этого эксперимента необходимо скачать и установить библиотеку «LiquidCrystal_I2C». Затем скопируйте и вставьте этот пример кода в окно программы IDE Arduino и загрузите в контроллер.