Arduino – популярная технология в области электроники, ее знают все специалисты, которые занимаются разработкой разнообразных устройств из отдельных модулей. Платформа пользуется высоким спросом из-за большого количества контроллеров, модулей, шилдов. Часто ее требуется совмещать с LCD дисплеями, и вот при подключении могут возникнуть некоторые сложности. Это может быть связано с недостатком портов, которые требуются для подключения экрана.
Выходом в данной ситуации будет применение переходника I2C /IIC. При помощи него можно провести подключение любого стандартного экрана для Ардуино к платам Uno, Nano или Mega, и для этого потребуется всего 4 пина. Ниже можно рассмотреть особенности подключения LCD дисплея с интерфейсом I2C к платформе Arduino, главные нюансы и работающие схемы.
Характеристика протокола I2C
Перед тем как проводить подключение дисплея к Arduino стоит изучить особенности протокола I2C, узнать, что это такое.
I2C / IIC (Inter-Integrated Circuit) является протоколом, который изначально создавался для связи интегральных микросхем внутри электронного устройства. Данная разработка является собственностью популярной компании Philips. В основе этого протокола лежит использование 8-битной шины, она требуется для связи блоков в управляющей электронной системы. А также необходимо для адресации, которая позволяет общаться с применением одинаковых проводов связываться с несколькими приборами.
В основе самой простой схемы протокола I2C может присутствовать основное устройство (обычно это микроконтролер Ардуино), а также несколько ведомых (дисплей LCD). У каждого устройства может быть адрес в диапазоне от 7 до 127. В одной схеме ни в коем случае не должно быть двух одинаковых адресов.
Плата Arduino может поддерживать I2C на аппаратном уровне. Для подключения устройств с применением данного протокола можно использовать пины А4 и А5.
Работа с протоколом I2C имеет ряд положительных особенностей:
- Для функционирования достаточно наличия двух линий – SDA (линия данных) и SCL (линия синхронизации);
- Позволяет проводить подключение большого количества приборов;
- Сокращение времени на разработку;
- Для управления полным комплектом приборов достаточно использования одного микроконтроллера;
- Возможное количество подключаемых микросхем может быть ограничено только предельными показателями емкости;
- Наблюдается высокий уровень сохранности данных, это обеспечивается за счет специального фильтра, который подавляет всплески, он встроен в состав схемы;
- Отмечается простая процедура диагностики возникающих перебоев, а также быстрая регулировка и настройка;
- Шина уже встроена в состав платформы Ардуино, поэтому нет необходимости создавать шинный интерфейс.
Как подключить – основные шаги
Ниже можно рассмотреть основные шаги подключения дисплея LCD к Arduino через протокол I2C. Все проводится достаточно просто, главное нужно соблюдать последовательность всех этапов.
Основные понятия
Подключение дисплея будет проводиться к платформе Arduino UNO / NANO, и процесс программирования также будет проводиться через нее.
На этом этапе стоит запомнить важные сведения:
- OLED это Organic Light-Emitting Diode. А именно это полупроводниковое устройство, в его основе имеются органические соединения. От него начинает исходить свет после прохождения электрического тока;
- ARDUINO является платформой, которая применяется для обучающего процесса и выстраивания систем автоматики, роботехники;
- ArduinoIDE является средой разработки. Данную программу можно применять на бесплатной основе для программирования Ардуино;
- I2C – Inter-Integrated Circuits. Это протокол или межмикросхемная линия связи.
Чтобы провести подключение дисплея к Ардуино важно четко соблюдать все действия, которые указаны в инструкции.
Комплектующие
Для проведения работы понадобятся элементы:
- Дисплей типа OLED, подойдет модель с размером диагонали 0,96”;
- Платформа Arduino UNO / Nano;
- Провода соединительного вида;
- ПК или ноутбук, на нем уже должна быть установлена ArduinoIDE.
Все детали и элементы можно приобрести на популярной торговой площадке Aliexpress. Конечно, доставка занимает длительное время, но по цене они выйдут достаточно дешево.
Подключение дисплея
Управление экраном производится с использованием чипа SSD1306, он может работать с применением большого количества протоколов связи, среди которых имеется I2C. Сведения по этому протоколу могут перемещаться с использованием двух проводов, и лучше, чтобы их было немного, поэтому этот вариант считается оптимальным.
Какие выводы можно использовать:
- Для OLED дисплея – SCL/SCK (clock) и SDA (data), «Плюс» питания (VCC) и «Минус» питания (GND);
- Для платформы Arduino UNO – SCL/SCK на A5 и SSD на A4, «Плюс» питания (+5V) и «Минус» питания (GND).
После можно проводить подсоединение дисплея к Ардуино:
- Vcc – 5V;
- GND – GND;
- SDA – A4;
- SCL — A5.
Сканер I2C
Сама шина может включать до 127 адресов – 119 из них для устройств и 8 адресов являются служебными. Коммуникационные процессы осуществляются с применением данных адресов. Среди них имеется основной под названием Master, а также ведомый – Slave. Мастера производят запрос, а ведомые присылают ответ.
Часто адрес для дисплеев с протоколом связи I2C не указывается. Поэтому его следует узнать самостоятельно. И для этого требуется выполнить следующие действия:
- Скачивается код Finder_I2C_Hex_Address.ino;
- После он загружается в Arduino;
- Далее открывается «Монитор порта»;
- Выставляется показатель скорости 9600.
После предоставляется точный адрес устройства.
Загрузка и подключение библиотек
Чтобы все нормально работало и выполняло основные функции следует провести подключение нескольких библиотек в среду ArduinoIDE. Оптимальными вариантами являются ADAFRUIT GFX и ADAFRUIT SSD1306. Они обеспечат нормальную связь платформы Ардуино с дисплеем.
Чтобы библиотеки были подключены нужно провести несколько действий:
- В программе ArduinoIDE необходимо войти в раздел Скетч / Sketch;
- Далее необходимо выбрать «Включить библиотеки»;
- После кликается «Управление библиотеками»;
- Затем нужно найти ADAFRUIT GFX, проводится установка;
- Далее также проводится поиск библиотеки ADAFRUIT SSD1306, и затем ее требуется установить.
После проведения всех работ и манипуляций требуется протестировать дисплей. Для этого можно воспользоваться инструкцией: перейти ФАЙЛ> ПРИМЕРЫ> SSD 1306> Выбрать 128×64 i2c.
Если будет опять «Ошибка», то можно поменять адрес I2C в строке 61, демонстрационного кода, и вместо него указывается адрес дисплея. Если снова не получится, то можно изменить файл Adafruit_SSD1306.h, его можно найти в папке с библиотеками Ардуино. Если все будет выполнено правильно и успешно, то после окончания загрузки на дисплее появится тестовая анимация.