Всем привет! Сегодня я покажу вам как подключить дисплей LCD1602 к Arduino.
В этом уроке использованы:
1. Плата Arduino Uno
2. Компьютер с установленной Arduino IDE и драйверами для плат
3. Соединительные провода
4. Дисплей LCD1602 с I2C модулем.
ЖК дисплей LCD 1602
ЖК означает жидкокристаллический. Этот дисплей отличный вариант для вывода символов, т.к. он стоит довольно недорого. Есть модели с разными цветами подсветки. Но его большой минус - наличие целых 16 контактов, из которых вам придётся использовать минимум шесть. Но если использовать I2C модуль, то количество необходимых для подключения контактов сокращается до четырёх. Но уже придётся паять. Куда его припаивать показано на фото ниже:
I2C модуль также имеет переменный резистор для регулировки контрастности букв. Поэтому если у вас не выводится текст в первую очередь попробуйте настроить контрастность.
Для работы с модулем также нужно установить библиотеку LiquidCrystal_I2C.h. Если регулировка контрастности не помогла то попробуйте установить библиотеку LiquidCrystal_PCF8574.h. Она расширяет библиотеку LiquidCrystal_I2C.h.
Распиновка дисплея и его подключение без I2C модуля
Распиновка дисплея LCD1602:
Один из вариантов схемы подключения:
Видно, что дисплей занимает слишком много пинов платы, поэтому я буду подключать его через I2C модуль.
Подключение дисплея к Arduino с помощью I2C модуля
Схема подключения:
SCL(I2C модуль) - A5(плата Arduino)
SDA(I2C модуль) - A4(плата Arduino)
VCC(I2C модуль) - 5V(плата Arduino)
GND(I2C модуль) - GND(плата Arduino)
Скетч
Сначала нужно узнать адрес вашего дисплея для связи по I2C. Обычно он 0x27, но может быть и другим. Подключите дисплей как показано выше и загрузите в него скетч отсюда. Он выводит в монитор порта адреса всех устройств, подключенных по I2C.
Теперь перейдём к выводу данных.
Пример с библиотекой LiquidCrystal_PCF8574.h. Вместо звёздочки перед include нужно ввести "решётку".
#include <Wire.h> // библиотека обмена данными по I2C
#include <LiquidCrystal_PCF8574.h> / подключение библиотеки для
//дисплея
LiquidCrystal_PCF8574 lcd(0x27); // создаём дисплей с адресом 0x27
void setup() {
lcd.setBacklight(255); // устанавливаем яркость подсветки на максимум
lcd.home(); // возвращает курсор в начальное положение и очищает весь // экран
lcd.clear(); // очищаем дисплей
lcd.setCursor(6, 0); // устанавливаем курсор на 6 позицию на 1 строчке
lcd.print("Hello"); // выводим надпись Hello
}
void loop() {
}
Пример с использование библиотеки LiquidCrystal_I2C.h. Вместо звёздочки перед include нужно ввести "решётку".
#include <Wire.h> // библиотека обмена данными по I2C
#include <LiquidCrystal_I2C.h> // подключение библиотеки для дисплея
LiquidCrystal_I2C lcd(0x27, 16 ,2);
void setup()
{
lcd.init(); // инициализация дисплея
lcd.backlight(); // включение подсветки дисплея
lcd.setCursor(6,0); // устанавливаем курсор на 6 позицию на 1 строчке
lcd.print("Hello"); // Выводим Hello
}
void loop()
{
}
А с этой библиотекой мой дисплей работал неправильно. Он выводит только первый символ из всего слова.
Если дисплей всё же не выводит буквы
1. Проверьте настройки контрастности дисплея
2. Проверьте, правильно ли указан адрес дисплея в скетче
3. Проверьте правильность подключения дисплея
4. Проверьте наличие контакта между всеми контактами I2C модуля и дисплея, а также целостность всех проводов.
5. Попробуйте вариант с другой библиотекой
А на этот раз всё, всем спасибо за внимание! Не забудьте оценить статью, для вас это не сложно, а для меня очень нужно. Пишите вопросы в комментариях, я постараюсь на них ответить.