Символьный дисплей LCD 1602
1
2
3
4
5
6
7-14
15
16
VSS
VDD
V0
RS
RW
E
D0-D7
A
K
- Общий вывод (GND)
- Питание (+5V)
- Управление контрастностью
- Выбор регистра
- Запись / чтение
- Разрешение работы
- Линия данных
- Питание подсветки (+5V)
- Общий вывод подсветки (GND)
  • Для передачи данных могут быть использованы 4 или 8 линий D0-D7. Для сокращения используемых пинов выберем вариант с 4 линиями данных;
  • Для управления контрастом к пину V0 экрана стоит подключить потенциометр, позволяющий изменять напряжения на пине от 0 до 5 В. Для максимального контраста подключим V0 напрямую к GND, для минимального к +5V;
  • Больше примеров кода в среде Arduino IDE. Файл -> Примеры - > LiquidCrystal.
Типовая схема подключения
Методы библиотеки LiquidCrystal
Стандартная библиотека экрана <LiquidCrystal.h>. Кириллица не поддерживается.
.begin(cols, rows); - инициализация работы с экраном. Указываем количество столбцов и строк
.clear(); - очистка экрана
.home(); - установка курсора на позицию (0,0)
.setCursor(col, row); - установка курсора на заданную позицию
.write(data); - вывод символа на экран
.print(data); - вывод текста на экран
.cursor(); / .noCursor(); - отображать / не отображать курсор
.Blink(); / .noBlink();- моргать / не моргать курсором
.display(); / .noDisplay(); - включить / отключить экран
.scrollDisplayLeft(); / .scrollDisplayRight(); - бегущая строка влево / вправо
.autoscroll();/lcd.noAutoscroll(); - включить / отключить автоматическую бегущую строку
.leftToRight();/lcd.rightToLeft(); - печатать текст слева направо / справа налево
.createChar(num, data); - создание пользовательского символа
Больше информации здесь.
Пример кода
//Подключаем библиотеку работы с экраном
#include <LiquidCrystal.h>
 
//Определяем пины, к которым подключен экран
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
//Создаем объект класса LiquidCrystal с именем lcd 
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
 
void setup() {
 //Определяем количество строк и столбцов в экране
 lcd.begin(16, 2);
 // Печатаем сообщение
 lcd.print("hello, world!");
}
 
void loop() {
 // Устанавливаем курсор на 0-й столбец, 1-ю строку
 lcd.setCursor(0, 1);
 // Выводим количество секунд, прошедших с момента запуска программы
 lcd.print(millis() / 1000);
}