#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Инициализируем дисплей с адресом 0x27 (проверьте ваш адрес)
LiquidCrystal_I2C lcd(0x27, 20, 4);
const String message = "Hi, how are you?";
int pos = 20; // Начальная позиция строки, чтобы она появлялась справа
void setup() {
  // Инициализация дисплея
  lcd.init();
  lcd.backlight();
}
void loop() {
  // Очистка первой строки дисплея
  lcd.setCursor(0, 0);
  lcd.print("                    "); // Заполняем строку пробелами
  // Вычисляем позицию, на которой будет отображаться сообщение
  if (pos >= 0) {
    lcd.setCursor(pos, 0);
    lcd.print(message.substring(0, 20 - pos));
  } else {
    lcd.setCursor(0, 0);
    lcd.print(message.substring(-pos, -pos + 20));
  }
  // Уменьшаем позицию для бегущей строки, чтобы переместиться влево
  pos--;
  if (pos < -message.length()) {
    pos = 20; // Сбросить позицию, чтобы начать снова справа
  }
  // Задержка для эффекта бегущей строки
  delay(300);
}