#include <LiquidCrystal.h>
// Задайте пины, к которым подключен LCD
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
// Строка для прокрутки
String message = " Hello, World! "; // Добавляем пробелы для плавного эффекта
int displayLength = 16; // Длина дисплея
bool scrollLeft = true; // Направление прокрутки: вправо или влево
void setup() {
// Инициализируйте LCD с размерами 16 столбцов и 2 строки
lcd.begin(16, 2);
lcd.noAutoscroll();
}
void loop() {
// Очистите экран
lcd.clear();
// Выведите часть строки, помещающуюся на экране
lcd.setCursor(0, 0);
// Определите начальную позицию подстроки
int startPosition = 0;
if (scrollLeft) {
startPosition = millis() / 250 % message.length();
} else {
startPosition = message.length() - displayLength - (millis() / 250 % message.length());
if (startPosition < 0) {
startPosition = 0;
}
}
// Выведите подстроку
for (int i = 0; i < displayLength; i++) {
lcd.print(message.charAt((startPosition + i) % message.length()));
}
// Проверяем дошла ли строка до края
if (millis() % message.length() == 0)
scrollLeft = !scrollLeft;
// Задержка
delay(50);
}