Подключение модуля PCF8574 для ЖК-дисплея к Ардуино

Module adapter I2C PCF8574

В этом статье мы рассмотрим, как использовать адаптер I2C для ЖК-дисплея с Arduino. По своей сути, I2C (Inter-Integrated Circuit) — это протокол связи, который позволяет устройствам взаимодействовать друг с другом, используя только два провода. Адаптер I2C (или контроллер I2C) — это микросхема, способная выступать в качестве ведущего устройства на шине I2C. Используя такой адаптер, мы можем уменьшить количество проводов, необходимых для подключения устройств к системе, что делает его оправданным выбором для различных приложений.

Одно из применений такой микросхемы нашлось в использовании его для взаимодействия жидкокристаллического дисплея с микроконтроллером Arduino. С помощью контроллера I2C мы можем использовать только два провода для связи с ЖК-дисплеем, что снижает сложность подключения и позволяет создавать более простые и компактные конструкции.

Что такое модуль адаптера I2C?

Адаптер I2C — это устройство, которое помогает в обмене данными между микроконтроллером и устройствами, совместимыми с I2C. Оно упрощает процесс подключения, предоставляя стандартный интерфейс для взаимодействия устройств друг с другом. Одним из самых популярных контроллеров I2C является PCF8574, который используется для управления жидкокристаллическими дисплеями.

I2C — популярный протокол связи, используемый для взаимодействия различных устройств с микроконтроллерами, такими как Arduino. Он позволяет подключать несколько устройств, используя только два провода: последовательную линию передачи данных (SDA) и последовательную линию синхронизации (SCL). Одним из наиболее распространенных применений является использование контроллера I2C для подключения ЖК-дисплея и управления им с помощью Arduino.

Заметка


I2C — популярный протокол связи, используемый для взаимодействия различных устройств с микроконтроллерами, такими как Arduino. Он позволяет подключать несколько устройств, используя только два провода: последовательную линию передачи данных (SDA) и последовательную линию синхронизации (SCL).

Особенности модуля

  • Рабочее напряжение: от 2,5 В до 6,0 В
  • Имеет потенциометр для настройки контрастности
  • Перемычка для включения/отключения подсветки
  • Упрощает подключение устройств к микроконтроллерам с I2C, тем самым экономя количество контактов
  • Поддерживает подключение нескольких устройств к одной шине с использованием разных адресов

Описание и распиновка модуля

Плата оснащена микросхемой PCF8574, которая преобразует данные I2C из микроконтроллера в 4-разрядные параллельные данные и управляющие биты, требуемые ЖК-дисплею.

По умолчанию модуль готов к работе с ЖК-дисплеями на контроллерах HD44780 с разрешением 16×2 и 20×4, которые для прямого подключения требуют много контактов. Адаптер помогает сэкономить количество используемых контактов микроконтроллера.

Подсветку можно включать и выключать, но яркость не регулируется напрямую через интерфейс I2C. Модуль имеет на плате перемычку (подписана как LED), подающую питание на контакт подсветки (контакт А). Эту перемычку можно снять и подавать напряжение на контакт А (VCC) и K (GND) отдельно, если есть необходимость.

PCF8574 представляет собой универсальное 8-разрядное устройство ввода-вывода с шиной I2C, и модуль может быть использован и для других целей, помимо управления ЖК-модулями. Максимальная тактовая частота I2C составляет 100 кГц, что делает ее наиболее подходящей для низкоскоростных приложений.

PCF8574 pinout
Распиновка модуля PCF8574

Подключение микроконтроллера к адаптеру I2C осуществляется через 4-контактный разъем.

  • GND — Земля. Должна быть общим с микроконтроллером.
  • VCC — Питание +5В. Может быть запитан от микроконтроллера или от отдельного источника питания. Модуль может работать от +3.3В.
  • SDA — Подключается к контакту I2C SDA на микроконтроллере.
  • SCL — Подключается к контакту I2C SCL на микроконтроллере.

* При подаче питания на плате загорается красный светодиод.

Подключение к ЖК-дисплею осуществляется через 16-контактный разъем.

  • VSS — Земля
  • VDD — Питание +5В
  • VEE — Контраст дисплея. Подключается к потенциометру на модуле.
  • RS — P0 микросхемы PCF8574
  • RW — P1 микросхемы PCF8574
  • E — P2 микросхемы PCF8574
  • D0 — D3 — подключение отсутствует
  • D4 — P4 микросхемы PCF8574
  • D5 — P5 микросхемы PCF8574
  • D6 — P6 микросхемы PCF8574
  • D7 — P7 микросхемы PCF8574
  • A — Анод подсветки. Обычно подключается 5В.
  • K — Катод подсветки. Подключен к транзистору, которым управляет вывод P3 микросхемы PCF8574
Электрическая схема модуля PCF8574
Электрическая схема модуля (могут быть некоторые расхождения с вашей платой)

Интерфейс I2C

За выбор адреса отвечают три контакта микросхемы: A0, A1, A2. Таблицу истинности для установки конкретного адреса можете найти снизу. На модуле к этим трем контактам через резисторы подтянуто питание VCC. То есть они находятся в состоянии HIGH. Поэтому адрес I2C по умолчанию — 0x27.

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

Если соединить эти площадки каплей припоя, это заземлит контакты. Например, если вы установите все три перемычки, то адрес будет 0x20. Диапазон всех возможных адресов варьируется от 0x20 до 0x27.

Перемычки для выбора адреса I2C для модуля PCF8574
A2A1A0I2C адрес
LOWLOWLOW0x20
LOWLOWHIGH0x21
LOWHIGHLOW0x22
LOWHIGHHIGH0x23
HIGHLOWLOW0x24
HIGHLOWHIGH0x25
HIGHHIGHLOW0x26
HIGHHIGHHIGH0x27
Уровни напряжений на контактах А0, А1 и А2 для установки адреса устройства

Заметка


Если вы не уверены в адресе I2C того или иного устройства, его легко узнать. Воспользуйтесь I2C сканером в этой статье.

Подключение дисплея через модуль PCF8574 к Ардуино

На схеме показано подключение адаптера I2C к ЖК дисплею и к Arduino.

Подключение LCD 1602 через модуль PCF8574 к Arduino Nano
АрдуиноМодуль
5VVCC
GNDGND
A4SDA
A5SCL

Чтобы использовать адаптер с ЖК-дисплеем, вам необходимо вставить 16-контактный разъем в 16 отверстий для пайки на задней стороне дисплея и припаять их на передней стороне. На рисунках показаны адаптер, установленный на дисплей LCD2004 и адаптер, подключенный к дисплею на 14 контактов (дисплей без подсветки) через макетную плату.

Подключение модуля при помощи пайки
Подключение модуля на макетной плате

Библиотеки для работы

Как мы упоминали ранее, для связи с адаптером дисплея и платы Arduino мы должны реализовать последовательный протокол, называемый I2C. В этом случае мы будем использовать библиотеки <Wire.h> и <LiquidCrystal_I2C.h>, чтобы осуществлять связь простым способом и с помощью очень небольшого количества строк кода.

Библиотека LiquidCrystal_I2C не установлена по умолчанию в Arduino IDE, поэтому ее необходимо установить. Если вам нужна помощь в установке библиотеки, ознакомьтесь с этой статьей. Скачать библиотеку LiquidCrystal_I2C можно ниже в разделе Загрузки.

Код для Ардуино

Скомпилируем и загрузим простой код в плату Arduino. На дисплее отобразиться строка «Hello, RxTx». Если вы откроете монитор порта и начнете посылать символы, то они будут отображаться на дисплее, стерев предыдущую запись.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
                                    
LiquidCrystal_I2C lcd(0x27,16,2);   // Создание объекта с адресом  0х27, 16 символов и 2 строки

void setup()
{
  Serial.begin(9600);               // Инициализация последовательного порта
  lcd.init();                       // Инициализация дисплея
  lcd.setCursor(0,0);               // Установка курсора 
  lcd.print("Hello, RxTx");         // Вывод на дисплей
}

void loop()
{
  // Если пришли данные в последовательный порт
  if (Serial.available()) {
    // Подождем немного
    delay(100);
    // Очистим дисплей
    lcd.clear();
    // Считаем все пришедшие символы
    while (Serial.available() > 0) {
      // Отобразим каждый символ
      lcd.write(Serial.read());
    }
  }
}

Результат:

Загрузки

Где купить

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии