LCD 1602 расширенный функционал + RUS версия
Всем привет и добро пожаловать на мою статью :)
Я думаю многие знают что такое lcd дислпей и принцип его работы, по этому сегодня мы рассмотрим расширенный функционал работы с lcd дисплеем.
Виды
Начнём с того, что в Arduino дисплеи бывают разным размеров:
8 на 2(0802) — (2 строки 8 символов)
16 на 2(1602) — (2 строки 16 символов) — это самый
популярный размер.16 на 4 — (4 строки 16имволов)
20 на 4 — (4 строки 20 символов)
128 на 64 — (64 строки 128 символов)
Так же бывают дисплеи с шиной I2C:
I2C
I2C — если простыми словами, это модуль для дисплея, который экономит кол-во пинов на arduino.
Поэтому, сегодня мы будем использовать дисплей с шиной I2C.
Схемы
Для Arduino Nano всё тоже самое.
С шиной i2C
Без шины I2C
Так же если у вас Arduino Uno то можно использовать шилд
Дисплей шилд
Пишем код
Для работы с lcd дисплеем, будем использовать библиотеку
Если у вас дисплей с шиной I2C, то
Базовый код для вывода текста на дисплей:
#include // подключаем библиотеку
LiquidCrystal_I2C lcd(0x27, 16, 2); // настройка дисплея - I2C
// LiquidCrystal lcd(l2, 11, 10, 5, 4, З, 2); - без I2C (указываем пины)
void setup()
{
lcd.begin(); // инициализация
}
void loop()
{
lcd.setCursor(0, 2); // устанавливает положение в котором будем выводить текст
lcd.print("hello world!"); // выводим текст
delay(2000); // задержка 2 секунды
lcd.clear(); // очищаем дисплей
}
Теперь разберём код:
Через #include
подключаем библиотеку, в угловых скобках < > или в двойных кавычках » » пишем название библиотеки.
Пример #include
или #include "LiquidCrystal_I2C.h"
Структура
Далее обращаясь к библиотеке, создаём переменную «lcd» (вы можете выбрать своё название).
В скобках мы указываем адрес дисплея »0×3f», у вас может быть другой если этот не работает попробуйте эти (0×26, 0×27)
После того как указали адрес нужно указать ещё два параметра:
Кол-во символов в строке
Кол-во строк, например если у вас дисплей 1602 то получается (16, 2)
В цикле void setup()
инициализируем дисплей функциейlcd.begin()
В цикле void loop () устанавливает положение в котором будем выводить текст через функцию
lcd.setCursor(a, b)
где a — это строка (0 или 1), b — это столбец (0 — 16).
Для вывода информации используется функция lcd.print("Hello world!")
в скобках пишите то что хотите вывести на экран дисплея.
Что бы очистить весь дисплей пишем lcd.clear()
Расширенный функционал
Функция
lcd.write(a)
записывает символ в жидкокристаллический индикатор (a
— символ, записываемый в индикатор) .Функция
lcd.home()
располагает курсор в верхнем левом углуФункция
lcd.cursor()
выводит на экран курсор — подчеркивание знакоместа в позиции, в которую будет записан следующий символ.Функция
lcd.noCursor()
скрывает курсор с экрана.Функция
lcd.blink()
выводит на экран мигающий курсор (Если она используется в комбинации с функцией cursor (), результат будет зависеть от конкретного индикатора)Функция
lcd.noBlink()
выключает мигающий курсор.Функция
lcd.display()
включает дисплей после того, как он был выключен функциейlcd.noDisplay ()
Функция
lcd.noDisplay()
выключает дисплей без потери отображаемой на нем информации.Функция
lcd.scrollDisplayLeft()
прокручивает информацию на экране (текст и курсор) на одно знакоместо влево.Функция
lcd.scrollDisplayRight()
прокручивает информацию на экране (текст и курсор) на одно знакоместо вправо.Функция
lcd.autoscroll()
включает автоматическую прокрутку экрана и заставляет каждый вывод символа на экран индикатора перемещать предыдущие символы на одно знакоместо .Функция
lcd.noAutoscroll()
выключает автоматическую прокрутку экранаФункция
lcd.leftToRight()
устанавливает направление вывода символов на экран жидкокристаллического индикатора слева направо (значение по умолчанию).Функция
lcd.rightToLeft()
устанавливает направление вывода символов на экран жидкокристаллического индикатора справа налевоФункция
lcd.createChar()
создает пользовательский символ
Кастомные символы
Для создания кастомных символов будем использовать сайт
https://maxpromer.github.io/LCD-Character-Creator/
Слева на матрице выстраиваем нужный символ
Копируем массив
И вставляем в наш скетч
Через функцию lcd.createChar()
добавляем наш символ
Структура
RUS версия
Для вывода кириллицы будем использовать библиотеку
https://github.com/mk90/LiquidCrystalRus
Эта библиотека имеет все те же функции что и
только тут можно выводить на кириллице.
Всем спасибо что до читали статью до конца :)
Информация была взята из документации