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

СОДЕРЖАНИЕ ►
LCD дисплей Arduino позволяет визуально отображать данные с датчиков. Расскажем, как правильно подключить модуль QAPASS LCD к Arduino по I2C и рассмотрим основные команды инициализации и управления LCD 1602. Также рассмотрим различные функции в языке программирования C++, для вывода текстовой информации на дисплее, который часто требуется использовать в проектах Ардуино.
Как подключить LCD 1602 к Arduino
I2C — последовательная двухпроводная шина для связи интегральных схем внутри электронных приборов, известна, как I²C или IIC (англ. Inter-Integrated Circuit). I²C была разработана фирмой Philips в начале 1980-х годов, как простая 8-битная шина для внутренней связи между схемами в управляющей электронике (например, в компьютерах на материнских платах, в мобильных телефонах и т.д.).

В простой системе I²C может быть несколько ведомых устройств и одно ведущее устройство, которое инициирует передачу данных и синхронизирует сигнал. К линиям SDA (линия данных) и SCL (линия синхронизации) можно подключить несколько ведомых устройств. Часто ведущим устройством является контроллер Ардуино, а ведомыми устройствами: часы реального времени или LCD Display.
Как подключить жк дисплей к Ардуино по I2C
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- LCD монитор 1602 i2c;
- 4 провода «папа-мама».
Жидкокристаллический дисплей 1602 с I2C модулем подключается к плате Ардуино всего 4 проводами — 2 провода данных и 2 провода питания. Подключение QAPASS 1602a к Arduino проводится стандартно для шины I2C: вывод SDA подключается к порту A4, вывод SCL – к порту A5. Питание LCD дисплея осуществляется от порта +5V. Смотрите подробнее схему подключения жк монитора 1602 на фото ниже.

После подключения 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); }
Пояснения к коду:
- перед выводом информации на дисплей, необходимо задать положение курсора командой
setCursor(0,1)
, где 0 — номер символа в строке, 1 — номер строки; - в отличии от
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); }
Пояснения к коду:
- библиотека
LiquidCrystal_I2C.h
содержит встроенные команды для управления LCD дисплея по шине I²C и позволяет значительно упростить скетч. - читайте также про возможность авто прокрутки строки на дисплее Ардуино.
Заключение: Используя программы Ардуино для lcd 1602a из этой записи и схему подключения lcd 1602 к Ардуино по i2c вы сможете применять данный дисплей в проектах Ардуино с LCD и в различных примерах. Если у вас остались вопросы по использованию монитора 1602 i2c Arduino — оставляйте их в комментариях на этой странице. Возможно, то что вы ищете уже решено и есть в ответах.
Подборка на тему: Дисплей LCD 1602 Ардуино подключение
17 комментариев для “Дисплей LCD 1602 Ардуино подключение”
Добавить комментарий
Записи похожие на: Подключение LCD 1602 I2C Arduino
- Парктроник на Ардуино с дисплеем и LED
- Катер на Ардуино своими руками
- Тестер батареек на Ардуино
- Сигнализация на Ардуино своими руками
Проекты похожие на: Подключение LCD 1602 I2C Arduino
Непонятно с пинами: на моей MEGA 2560 есть специально помеченные пины SDA и SCL (помимо А4, А5). Вам стоит более общо/научно объяснять читателям, какие пины вообще можно использовать.
Если SDA/SCL на плате выделены отдельно, чем они отличаются от, например, А2 или TX3? Могу я использовать TX3 вместо SDA?
Причём у меня есть не только пин «SCL», но и пин «SCL 21» (в другом конце платы). Как тогда адресовать пин SCL, который без номера?
LCD Display I2C подключается к Arduino MEGA как раз через пины SDA и SCL, дополнительно в скетче ничего прописывать не надо.
Очень нужна ваша помощь. У меня есть такой дисплей, и ардуино уно, перебрал кучу скетчей, в том числе и ваш, но дисплей показывает в верхнем ряду 16 прямоугольников и все, даже подсветка не регулируется, что делать подскажите!!!
Для версий ArduinoIDE 1.8 и выше старая библиотека LiquidCrystal_I2C.h не подходит — попробуйте установить новую библиотеку. Ссылка на архив: https://drive.google.com/open?id=1FSjYNFQIyOeCl7lNDRxLbQOUnoe5ZY6o
Арсений, у меня такая же проблема. Если вы ее решили скажите как пожалуйста
Было уже предложено несколько вариантов:
1. поменяйте адрес с 0x27 на 0x3F
2. используйте библиотеку LCD_1602_RUS.h
3. используйте библиотеку — LiquidCrystal_PCF8574
Все пробовали использовать при подключении дисплея?
У меня с библиотекой 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:
}
на I2C есть какаято подсроечная синяя штука с крестиком в центре, крутите не бойтесь, и будет вам счастье
Поменяйте адрес с 0x27 на 0x3F и будет Вам счастье.
Yuzer, спасибо огромное, очень помогли.
Но с русским языком ардуинка не знакома!
Есть библиотека LCD_1602_RUS.h
А как управлять подсветкой? с включением понятно, а если надо на время отключить?
lcd.backlight(); – Включение подсветки дисплея
lcd.noBacklight(); – Выключение подсветки дисплея
, где lcd — это имя дисплея, который вы присваиваете командой LiquidCrystal_I2C lcd(0x27,20,2);
У меня выводятся только первые буквы слов.
Попробуйте при подключении LCD дисплея к Ардуино применить правило — поменяйте в скетче для дисплея адрес с 0x27 на 0x3F
Если при использовании библиотеки LiquidCrystal_I2C выводятся только первые символы, то используйте библиотеку — LiquidCrystal_PCF8574