В этой статье подключаем lcd дисплей по шине I2C.
LCD дисплей - Liquid Сrystal Display. Переводится как жидкокристаллический дисплей (ЖК-дисплей). Особенностью этой технологии является тот факт, что сами по себе жидкие кристаллы не светятся. И для того, чтобы на таком дисплее было видно изображение, нужен источник света. Такой источник может быть внешним (например, дневной свет), либо встроенная подсветка, как на arduino lcd дисплее. |
Схема подключения lcd дисплея к ардуино по интерфейсу I2C:
pin/Arduino | UNO, nano | Mega | Leonardo | duo |
gnd | gnd | gnd | gnd | gnd |
SDA (data line) | A4 , sda (для uno r3) | 20 | 2 | 20, SDA1 |
SCL (clock line) | A5, scl (для uno r3) | 21 | 3 | 21, SDA1 |
vcc | 5v | 5v | 5v | 5v |
Базовый код и список функций для работы с lcd дисплеем (по шине I2C)
#include <Wire.h> //библиотека для связи с модулями через интерфейс I2C
#include <LiquidCrystal_I2C.h> //библиотека для lcd дисплея
LiquidCrystal_I2C lcd (0x27,16,2); // Даем имя дисплею (lcd)
//указываем адрес устройства (0x27) - он может быть иным
//проверить адрес можно с помощью программы сканера I2C устройств.
void setup() {
lcd.init(); // Инициализация дисплея
lcd.backlight(); // Включаем подсветку дисплея
}
void loop() {
// устанавливаем курсор в нужную часть дисплея
lcd.setCursor(0, 0); //отсчет символов и строк начинается с 0
lcd.print ("welcome to"); // выводим желаемый текст в " "
delay(500); //задержка перед появлением надписи на 2 строке
lcd.setCursor(2, 1); //Выводим с третьего символа на 2 строке
lcd.print("ufarobo.ru"); //можно создать и выводить переменные, если убрать " "
delay(1000);
lcd.clear (); // стираем информацию с дисплея
delay(1000);
}
Дополнительные команды для работы с lcd дисплеем:
lcd.setCursor(Pos,Str); // Установка положения курсора lcd.print(); //Вывод на дисплей lcd.home(); // Установка нулевого положения курсора lcd.clear(); // очистка дисплея lcd. Display(); lcd. noDisplay(); // включение/выключение дисплея lcd. Cursor(); lcd. noCursor(); // включение/выключение курсора lcd. blink(); lcd. noblink(); // включение/выключение мигания курсора lcd. scrollDisplayLeft(); // Сдвиг информации на дисплее Влево lcd. scrollDisplayRight(); // Сдвиг информации на дисплее Вправо lcd.leftToRight(); //направление ввода слева направо lcd. rightToLeft(); //направление ввода справа налево |