В 10-й главе книги Дж. Блума «Изучаем Arduino: инструменты и методы технического волшебства» подробно описано применение LCD-дисплея в проектах Arduino (стр. 202).
При разработке больших проектов на Arduino Uno очень часто для подключения различных устройств не хватает выводов. Например, для подключения одного LCD-дисплея в проекте из книги Дж. Блума (стр. 205, рис. 10.2) задействовано 6 цифровых выводов (D2 ÷ D7) и два вывода питания платы Arduino.
Чтобы сократить количество выводов для подключения LCD-дисплеев, можно использовать специальный интерфейсный модуль IIC/I2C (рис. L2.1), с помощью которого обмен данными между LCD-дисплеем (ЖКД) и Arduino осуществляется по последовательному протоколу I2C (Inter-Integrated Circuit), который подробно описан в 8-й главе книги Дж. Блума.
В этом случае будут задействованы только 4 вывода Arduino:
- GND (Земля),
- VCC (Питание +5V),
- A4 (SDA, Serial Data — последовательные данные),
- A5 (SCL, Serial Clock — cигнал последовательного тактирования).
Внешний вид, назначение контактов
Удобно приобрести модуль LCD-дисплея, на котором модуль IIC/I2C уже установлен (см. рис. L2.1). На модуле LCD-дисплея расположен потенциометр для управления контрастом дисплея.
Рис. L2.1. Плата ЖКД 1602 с модулем I2C
Схема подключения
Рис. L2.2. Схема подключения LCD-дисплея с модулем I2C
Основные характеристики
Наименование | Значение |
Напряжение, В | От 4,5 до 5,5 |
Ток, мА | 1,5 |
Ток подсветки дисплея, мА | 120 |
Напряжение подсветки дисплея, В | От 4,1 до 4,3 |
Программный код
- Загрузите библиотеку LiquidCrystal I2C by Frank de Brabander для работы Arduino с LCD-дисплеем по протоколу I2C. Для этого откройте Менеджер библиотек, выполнив команду Инструменты | Управлять библиотеками. Справа вверху в строке поиска введите LiquidCrystal I2C. В открывшемся списке выберите LiquidCrystal I2C by Frank de Brabander. Нажмите кнопку Установка.
- Загрузите скетч из листинга L2.1. Адрес шины I2C по умолчанию: 0x27.
Примечание
Библиотеку также можно скачать в виде ZIP-файла по ссылке https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library и подключить в среду разработки Arduino IDE с помощью команды Скетч | Подключить библиотеку | Добавить .ZIP библиотеку….
Листинг L2.1. Тест LCD-экрана
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <Wire.h> #include <LiquidCrystal_I2C.h> //задаем адрес экрана 0x27, 16 символов, 2 строки LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { lcd.init(); // Инициализируем экран включаем подсветку lcd.backlight(); //Устанавливаем положение курсора для первой строки. lcd.home(); //выводим строку 1 lcd.print("String 1 Test"); //выводим строку 2 lcd.setCursor(0, 1); lcd.print("String 2 Test"); } void loop() { } |
Библиотека LiquidCrystal_I2C не поддерживает кириллические символы. Для их отображения по адресу https://github.com/ssilver2007/LCD_1602_RUS скачайте и установите библиотеку LCD_1602_RUS (автор Сергей Сироткин). При этом основная библиотека LiquidCrystal_I2C должна быть уже установлена. Имейте в виду, что максимально возможно отображение восьми уникальных по начертанию русских символов (например: Ж, Д, И, Ю и т. п.).
Загрузите скетч из листинга L2.2 — теперь символы кириллицы должны отображаться корректно.
Листинг L2.2. Тест кириллических шрифтов на LCD-экране
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <LCD_1602_RUS.h> LCD_1602_RUS lcd(0x27, 16, 2); void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Первая строка"); lcd.setCursor(0, 1); lcd.print("Вторая строка"); } void loop() { } |
Вам могут понадобиться
-
Текстовый ЖК-дисплей LCD2004 с модулем IIC/I2C/TWI с синей подсветкой для Arduino UNO R3 MEGA2560 20X4 LCD2004
390₽312₽ -
Умный дом на базе Arduino. Большой набор + КНИГА
15568 ₽
12454 ₽ -
Текстовый ЖК-дисплей LCD1602 с ножками БЕЗ платы I2C (с зеленой подсветкой)
160₽128₽ -
Текстовый ЖК-дисплей LCD1602 с платой I2C (с синей подсветкой)
190₽152₽