Дисплей LCD 1602 i2C Ардуино подключение

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

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

LCD дисплей Arduino позволяет визуально отображать данные с датчиков. Расскажем, как правильно подключить модуль QAPASS 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 провода питания. Подключение QAPASS 1602a к Arduino проводится стандартно для шины I2C: вывод SDA подключается к порту A4, вывод SCL – к порту A5. Питание LCD дисплея осуществляется от порта +5V. Смотрите подробнее схему подключения жк монитора 1602 на фото ниже.

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

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • LCD монитор 1602 i2c;
  • 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.

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

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

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

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

void loop() {
   LCD.noDisplay(); // выключаем и включаем надпись на дисплее
   delay(1000);
   LCD.display();
   delay(1000);
}

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

  1. перед выводом информации на дисплей, необходимо задать положение курсора командой setCursor(0,1), где 0 — номер символа в строке, 1 — номер строки;
  2. в отличии от clear() — команда noDisplay() не удаляет надпись, а отключает ее вывод на дисплее и ее можно снова покзать.

Библиотека LiquidCrystal_I2C.h для дисплея

В следующем примере разберем сразу несколько возможностей, которая дает библиотека LiquidCrystal_I2C (на самом деле мы взяли команды из стандартной библиотеки). Продемонстрируем вывод мигающего курсора, как убрать надпись с экрана на некоторое время без удаления и, как управлять подсветкой дисплея из кода программы. Для этого загрузите в Ардуино следующий код.

Скетч с командами библиотеки LiquidCrystal_I2C.h

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

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

void setup() {
   LCD.init();    // инициализация LCD дисплея
   LCD.backlight(); // включение подсветки дисплея

   LCD.blink(); // включение мигающего курсора
   delay(2000);
   LCD.noBlink();
   
   LCD.setCursor(1,0);    // ставим курсор на 1 символ первой строки
   LCD.print("I LOVE");   // печатаем сообщение на первой строке
   LCD.setCursor(8,1);        // ставим курсор на 1 символ второй строки
   LCD.print("ARDUINO");  // печатаем сообщение на второй строке
   delay(2000);

   LCD.cursor(); // включение текущей позиции курсора
   delay(2000);
   LCD.noCursor();
}

void loop() {
   LCD.noBacklight(); // выключаем и включаем подсветку экрана
   delay(1000);
   LCD.backlight();
   delay(1000);
}

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

  1. библиотека LiquidCrystal_I2C.h содержит встроенные команды для управления LCD дисплея по шине I²C и позволяет значительно упростить скетч.
  2. читайте также про возможность авто прокрутки строки на дисплее Ардуино.

Заключение: Используя программы Ардуино для lcd 1602a из этой записи и схему  подключения lcd 1602 к Ардуино по i2c вы сможете применять данный дисплей в проектах Ардуино с LCD и в различных примерах. Если у вас остались вопросы по использованию монитора 1602 i2c Arduino — оставляйте их в комментариях на этой странице. Возможно, то что вы ищете уже решено и есть в ответах.

1 Star2 Stars3 Stars4 Stars5 Stars (28 votes, average: 4,86 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

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

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