LCD 1602 подключение к Ардуино по I2C

Подключение lcd 1602 к Arduino i2c

Подключив LCD дисплей к Arduino, вы сможете визуально отображать данные с датчиков на экране. Рассмотрим основные команды для управления LCD 1602 по I2C.

LCD дисплей Arduino позволяет визуально отображать данные с датчиков. Расскажем, как правильно подключить LCD монитор к Arduino по I2C и рассмотрим основные команды инициализации и управления LCD 1602. Также рассмотрим различные функции в языке программирования C++, для вывода текстовой информации на дисплее, который часто требуется использовать в проектах на Ардуино.

Видео. Arduino LCD Display I2C 1602

Как подключить LCD 1602 к Arduino

I2C — последовательная двухпроводная шина для связи интегральных схем внутри электронных приборов, известна, как I²C или IIC (англ. Inter-Integrated Circuit). I²C была разработана фирмой Philips в начале 1980-х годов, как простая 8-битная шина для внутренней связи между схемами в управляющей электронике (например, в компьютерах на материнских платах, в мобильных телефонах и т.д.).

Схема i2c интерфейса для подключения lcd1602
Схема i2c интерфейса для подключения lcd1602

В простой системе I²C может быть несколько ведомых устройств и одно ведущее устройство, которое инициирует передачу данных и синхронизирует сигнал. К линиям SDA (линия данных) и SCL (линия синхронизации) можно подключить несколько ведомых устройств. Часто ведущим устройством является контроллер Ардуино, а ведомыми устройствами: часы реального времени или LCD Display.

Как подключить жк дисплей к Ардуино по I2C

Жидкокристаллический дисплей 1602 с I2C модулем подключается к плате Ардуино всего 4 проводами — 2 провода данных и 2 провода питания. Подключение дисплея 1602 проводится стандартно для шины I2C: вывод SDA подключается к порту A4, вывод SCL – к порту A5. Питание LCD дисплея осуществляется от порта +5V на Arduino. Смотрите подробнее схему подключения жк монитора 1602 на фото ниже.

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • LCD монитор 1602;
  • 4 провода «папа-мама».
Подключение LCD 1602 к Arduino UNO через I²C
Подключение LCD 1602 к Arduino UNO через I²C

После подключения LCD монитора к Ардуино через I2C вам потребуется установить библиотеку LiquidCrystal_I2C.h для работы с LCD дисплеем по интерфейсу I2C и библиотека Wire.h (имеется в стандартной программе Arduino IDE). Скачать рабочую библиотеку LiquidCrystal_I2C.h для LCD 1602 с модулем I2C можно на странице Библиотеки для Ардуино на нашем сайте по прямой ссылке с Google Drive.

Скетч для жк дисплея 1602 с I2C

#include <Wire.h> // библиотека для управления устройствами по I2C 
#include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602

LiquidCrystal_I2C lcd(0x27,20,2); // присваиваем имя lcd для дисплея 20х2

void setup() // процедура setup
{
  lcd.init(); // инициализация LCD дисплея
  lcd.backlight(); // включение подсветки дисплея
   
  lcd.setCursor(0,0); // ставим курсор на 1 символ первой строки
  lcd.print("I LOVE"); // печатаем сообщение на первой строке
  
  lcd.setCursor(0,1);  // ставим курсор на 1 символ второй строки
  lcd.print("ARDUINO"); // печатаем сообщение на второй строке
}

void loop() // процедура loop
{

/* это многострочный комментарий

// изначально процедура void loop() в скетче не используется
lcd.noDisplay(); // выключаем подсветку LCD дисплея
delay(500); // ставим паузу
lcd.display(); // включаем подсветку LCD дисплея
delay(500); // ставим паузу

*/
}

Пояснения к коду:

  1. библиотека LiquidCrystal_I2C.h содержит множество команд для управления LCD дисплея по шине I²C и позволяет значительно упростить скетч;
  2. скетч содержит многострочный комментарий /* ... */, который позволяет закомментировать сразу несколько строк или функций в программе.
  3. перед выводом информации на дисплей, необходимо задать положение курсора командой setCursor(0,1), где 0 — номер символа в строке, 1 — номер строки.
1 Star2 Stars3 Stars4 Stars5 Stars (27 votes, average: 4,85 out of 5)
Загрузка...

16 комментариев для “Пример: LCD 1602 подключение к Ардуино по I2C”

  1. Непонятно с пинами: на моей MEGA 2560 есть специально помеченные пины SDA и SCL (помимо А4, А5). Вам стоит более общо/научно объяснять читателям, какие пины вообще можно использовать.
    Если SDA/SCL на плате выделены отдельно, чем они отличаются от, например, А2 или TX3? Могу я использовать TX3 вместо SDA?
    Причём у меня есть не только пин «SCL», но и пин «SCL 21» (в другом конце платы). Как тогда адресовать пин SCL, который без номера?

    1. LCD Display I2C подключается к Arduino MEGA как раз через пины SDA и SCL, дополнительно в скетче ничего прописывать не надо.

  2. Очень нужна ваша помощь. У меня есть такой дисплей, и ардуино уно, перебрал кучу скетчей, в том числе и ваш, но дисплей показывает в верхнем ряду 16 прямоугольников и все, даже подсветка не регулируется, что делать подскажите!!!

    1. Арсений, у меня такая же проблема. Если вы ее решили скажите как пожалуйста

      1. Было уже предложено несколько вариантов:

        1. поменяйте адрес с 0x27 на 0x3F
        2. используйте библиотеку LCD_1602_RUS.h
        3. используйте библиотеку — LiquidCrystal_PCF8574

        Все пробовали использовать при подключении дисплея?

      2. У меня с библиотекой LiquidCrystal_PCF8574 заработало,
        #include
        #include
        LiquidCrystal_PCF8574 lcd(0x3f);
        void setup()
        {
        lcd.begin(16, 2);// у нас экран 16 столбцов на 2 строки
        lcd.setBacklight(255); //установить яркость подсветки на максимум
        lcd.clear(); // очистить экран и установить курсор в позицию 0, 0
        lcd.print(«arduino»);// печатаем нужную строку
        lcd.setCursor(0, 1);// переводим курсор в нужную позицию
        lcd.print(«arduino»);// печатаем нужную строку
        }
        void loop() {
        // put your main code here, to run repeatedly:
        }

  3. А как управлять подсветкой? с включением понятно, а если надо на время отключить?

    1. lcd.backlight(); – Включение подсветки дисплея
      lcd.noBacklight(); – Выключение подсветки дисплея

      , где lcd — это имя дисплея, который вы присваиваете командой LiquidCrystal_I2C lcd(0x27,20,2);

    1. Попробуйте при подключении LCD дисплея к Ардуино применить правило — поменяйте в скетче для дисплея адрес с 0x27 на 0x3F

    2. Если при использовании библиотеки LiquidCrystal_I2C выводятся только первые символы, то используйте библиотеку — LiquidCrystal_PCF8574

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *