Урок 4. Подключение LCD1602 по I2C к Ардуино
К сожалению стандартная схема подключения расмотренная в предыдущих уроках не всегда удобна, так как занимает как минимум 6 цифровых выходов на арудине.
В этом уроке мы рассмотрим способ как это можно обойти и использовать только два аналоговых выхода.
Нам понадобится дополнительный модуль 1602 LCD конвертор в IIC/I2C. Он припаивается к нашему дисплею как видно на фото ниже.

И подключается к ардуине следующим образом
| Arduino Mega | Arduino Uno | LCD i2c | Цвет проводов на фото |
| GND | GND | GND | Черный |
| 5V | 5V | VCC | Красный |
| 20 (SDA) | A4 | SDA | Коричневый |
| 21(SCL) | A5 | SCL | Белый |

Этот способ подключения работает только со специально библиотекой, скачать библиотеку можно по ссылке (LiquidCrystal_I2C1602V1 Библиотека). Установите данную библиотеку.
Код программы:
#include #include LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей void setup() < lcd.init(); lcd.backlight();// Включаем подсветку дисплея lcd.print("iarduino.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); >void loop() < // Устанавливаем курсор на вторую строку и нулевой символ. lcd.setCursor(0, 1); // Выводим на экран количество секунд с момента запуска ардуины lcd.print(millis()/1000); >
Видео:
LCD 1602 I2C дисплей подключение к Arduino
Классические LCD-дисплеи имеют широкое применение в кассовых аппаратах, офисной технике и многих других устройствах. В этой статье мы рассмотрим их характеристики, виды и особенности использования.
Размеры и типы LCD-дисплеев
LCD-дисплеи могут быть разных размеров. Самый популярный вариант – это LCD 1602 (с 16 столбцами и 2 строками). Встречаются также другие размеры: 2004, 0802 и др. Здесь мы сосредоточимся на дисплее 1602.

Цвет фона и букв
Существуют различные комбинации цветов фона и букв на дисплеях. Пример сочетаний:
- Синий фон и белые буквы
- Голубой фон и черные буквы
- Зеленый фон и чёрные буквы
- Оранжевый фон и черные буквы
- Чёрный фон и белые буквы
В данной статье мы будем рассматривать дисплей с темно-синим фоном и белыми буквами.
Светодиодная подсветка
Дисплеи часто имеют отключаемую светодиодную подсветку, что улучшает видимость и комфорт чтения информации с экрана.
Подключение и переходник
Сам по себе классический LCD-дисплей требует для подключения к микроконтроллеру Ардуино минимум 8 цифровых пинов. Однако существует переходник на шину I2C на базе PCF8574, производимый китайскими компаниями. Он значительно упрощает подключение и экономит пины. В данном случае рассматривается дисплей с припаянным переходником.

Настройка контрастности
На переходнике предусмотрен подстроечный резистор настройки контрастности, под крестовую отвёртку. Необходимо вручную подстроить контрастность.

Адресация интерфейса
Переходник может иметь разный адрес для указания в коде: 0х27 или 0x3F. Адрес формируется перемычками обозначенными на плате A0, A1,A2. Это необходимо учитывать при программировании и использовании дисплея.

Код для Ардуино
Скачайте и установите библиотеку LiquidCrystal, выберите пример «demo». Если все подключено без ошибок, то дисплей сразу начнет демонстрировать свои возможности. Для русификации шрифтов дисплея, Вам потребуется библиотека LCD 1602 RUS.
Заключение
Классические LCD-дисплеи являются универсальным и доступным решением для отображения информации на различных устройствах. Учитывая разнообразие цветов и возможность подключения через различные переходники, эти дисплеи остаются по сей день популярными и актуальными на рынке.
Ардуино для начинающих. Урок 11. Интерфейс I2C.

Теперь рассмотрим код. Мы будем получать данные с датчика, переводить градусы по Цельсию в градусы по фаренгейту и выводить все на экран компьютера:
// Подключаем библиотеку для связи по I2C #include // Адрес датчика температуры int temp_address = 72; void setup() < // Открываем моединение с компьютером Serial.begin(9600); // Открываем соединение по I2C Wire.begin(); >void loop() < // Отправляем запрос // Начинаем общение с датчиком Wire.beginTransmition(temp_address); // Запрашиваем нулевой регистр Wire.send(0); // Выполняем передачу Wire.endTransmition // Запрашиваем 1 байт Wire.requestFrom(temp_address, 1); // Ждем ответа while(Wire.avalible() == 0); // Получаем температуру с датчика int c = Wire.receive(); // Переводим температуру в фаренгейт int f = round(c*9.0/5.0 + 32.0); // Выводим данные на экран Serial.print(c); Serial.print("C, "); Serial.print(f); Serial.println("F"); //Небольшая задержка, что бы данные обновлялись не слишком часто delay(500); >
Вам не нужно скачивать библиотеку Wire, так как она скачана по умолчанию в Arduino IDE. Адрес датчика температуры вы можете узнать на сайте производителя. Так же существуют модули с назначаемым адресом. В этом случае вам придется самостоятельно назначить адрес. Как это сделать должно быть описано на сайте производителя или в datasheet модуля.
9 комментариев
- Антон 2019-01-15 14:42:18
Добрый день. Спасибо за урок. Очень полезно.
Я сейчас применяю плату STM32F103C8.
В ее составе 2 аппаратных IIC (1й — B6, B7(выводы) и 2й — B10, B11(выводы)).
Сейчас я работаю с 1м. Также как у Вас в уроке. Все работает.
Возникла необходимость использовать 2й IIC. Каким образом я могу это сделать?
Добавление цифр 1 или 2 (как для Serial) не работает.
Заранее спасибо. Антон.
- « 2019-02-24 00:32:59
Антон, это сайт про Ардуино, какой ещё СТМ32..
posso usare l’italiano or english
hi guys :). I am looking for help for me and my girl. i am from France
Здравствуйте.
Цвет проводников соответствует стандартам?
SDA — желтый, SCL — зеленый, питание VDD — красный, земля WP — cиний.
Дело в том, что ищу схему соединения, именно, по цветам.
В штекере отвалились провода начисто. Не знаю, что-куда припаять.
Прибор для измерения толщины слоя краски на металле: elcometer 456
Платка, где все поотлетало: 24LC32AI
- Антон 2020-07-02 11:34:21
землю и питание паяйте, затем случайным образом sda и scl. Не стартанет- меняйте местами.
Thank you very much for the invitation :). Best wishes.
PS: How are you? I am from France
откуда взялось beginTransmition ? Transmission наверное ? Этот сайт и не про Ардуино по моему
На сколько я знаю, не Transmition, а Transmission
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Железо

Стартовый набор с Arduino Mega и RFID Это расширенный стартовый набор. В комплект входит Arduino Mega R3, макетные платы, множество датчиков, управляемые механизмы и необходимые радиоэлектронные компоненты. Полный список.

Плата Arduino Uno R3 Arduino Uno — плата на базе микроконтроллера ATmega328P с частотой 16 МГц. На плате есть все необходимое для удобной и быстрой работы.
Дисплей 1602 подключение к arduino
Дисплеи очень важные части устройства, если нужно получить обратную связь без использования компьютера. К плате arduino можно подключать как специально разработанные дисплеи, так и схожие по техническим характеристикам.
Дисплеи могут выводит информацию по датчикам или создавать определённый визуальный эффект.
Рассмотрим процесс подключения дисплея 1602. У него шестнадцать выводов. Рассмотрим вариант подключения по четырёх битному параллельному интерфейсу.
Таблица обозначения подключений
Перед тем, как собрать данную схему, вам необходимо припаять провода к выводам дисплея. Для удобства предлагаю использовать провода МГТФ самого малого диаметра. Их преимущества в гибкости и прочности. С них легко снять изоляцию. Также можно использовать акустические провода, но они обладают более «толстой» изоляцией и менее гибкие. Длина провода не более 15 см. для каждого вывода.

Для теста возьмём пример из библиотеки LiquidCrystal.h — «Hello World».

Подадим питание на arduino и загрузим программу.
Ниже представлен видеообзор подключения дисплея.
Лучшие схемы создаются во fritzing.
