Бегущая строка на дисплее LCD 1602 I2C Arduino может быть выполнена различными способами.
Наиболее простой способ выполнить эту задачу — это использование цикла for в программе.
Мы уже рассматривали LCD 1602 подключение к Ардуино ранее в наших уроках. При использовании стандартной библиотеки LiquidCrystal.h можно использовать команду для прокрутки экрана: autoscroll();. Библиотека для дисплея Arduino с I2C модулем LiquidCrystal_I2C.h лишена этой возможности, поэтому потребуется в программе использовать цикл for или while для прокрутки строки на жк экране.
Для этого занятия нам потребуется:
плата Arduino Uno / Arduino Nano / Arduino Mega;
жк дисплей LCD 1602;
провода папа-мама.
#include <Wire.h> // библиотека для протокола I2C
#include <LiquidCrystal_I2C.h> // библиотека для дисплея
LiquidCrystal_I2C LCD(0x27,16,2); // присваиваем имя дисплею
void setup() {
LCD.init(); // инициализация LCD дисплея
LCD.backlight(); // включение подсветки дисплея
LCD.print("HELLO!"); // выводим надпись
delay(1000);
}
void loop() {
// передвигаем надпись вправо
for (int i = 0; i < 10; i++) {
LCD.setCursor(i, 0);
LCD.print("HELLO!");
delay(200);
LCD.clear(); // очищаем экран
}
// передвигаем надпись влево
for (int i = 10; i > 0; i--) {
LCD.setCursor(i, 0);
LCD.print("HELLO!");
delay(200);
LCD.clear(); // очищаем экран
}
}
Пояснения к коду:
каждый раз в цикле for меняется переменная i, а значит и положение курсора. Через 200 мс надпись очищается и выводится в новом месте;
бегущие буквы на дисплее можно сделать и с помощью цикла while Arduno.
В следующем примере используем команды из стандартной библиотеки LiquidCrystal.h — подключать ее в скетче не обязательно. Используем функции scrollDisplayRight и scrollDisplayLeft для перемещения строчки на дисплее в цикле for. При этом нам уже не требуется указывать местоположение надписи с помощью команды setCursor. Загрузите из следующего примера программу с перемещением надписи на дисплее.