Опубликовано

ЖК-дисплей 1602 с модулем I2C

По материалам руководства для набора “Умный дом на базе Arduino. Большой набор + КНИГА

В 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-LCD

Рис. L2.1. Плата ЖКД 1602 с модулем I2C

Схема подключения

04-02-2-lcd

Рис. L2.2. Схема подключения LCD-дисплея с модулем I2C

Основные характеристики

Наименование Значение
Напряжение, В От 4,5 до 5,5
Ток, мА 1,5
Ток подсветки дисплея, мА 120
Напряжение подсветки дисплея, В От 4,1 до 4,3

Программный код

  1. Загрузите библиотеку LiquidCrystal I2C by Frank de Brabander для работы Arduino с LCD-дисплеем по протоколу I2C. Для этого откройте Менеджер библиотек, выполнив команду Инструменты | Управлять библиотеками. Справа вверху в строке поиска введите LiquidCrystal I2C. В открывшемся списке выберите LiquidCrystal I2C by Frank de Brabander. Нажмите кнопку Установка.
  2. Загрузите скетч из листинга 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()
 
{
 
}
Добавить комментарий