Загрузка данных


#include <LiquidCrystal.h>

// Инициализация пинов (RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Битовая маска для создания символа "Сердечко" (5x8 пикселей)
byte heart[8] = {
  0b00000,
  0b01010,
  0b11111,
  0b11111,
  0b11111,
  0b01110,
  0b00100,
  0b00000
};

// Текст для бегущей строки (русские буквы транслитом для гарантированного отображения)
// Если ваш дисплей поддерживает русскую прошивку, можно указать текст по-русски.
String message = "evgen kiril'evich                if you want to inseminate put \1 ";

void setup() {
  // Настраиваем дисплей (20 колонок, 4 строки)
  lcd.begin(20, 4);

  // Регистрируем символ сердечка под номером 1
  lcd.createChar(1, heart);
}

void loop() {
  int messageLength = message.length();
  int displayWidth = 20;

  for (int i = 0; i < messageLength; i++) {
    lcd.setCursor(0, 0); // Вывод на первую строку

    String currentText = "";
    for (int j = 0; j < displayWidth; j++) {
      int index = (i + j) % messageLength;
      currentText += message[index];
    }

    lcd.print(currentText);
    delay(300); // Скорость движения строки (в миллисекундах)
  }
}