// Библиотека для работы с текстовым дисплеем #include // Назначаем контакты для подключения дисплея // Используется 4-битный параллельный интерфейс constexpr int RS_PIN = 2; constexpr int EN_PIN = 3; constexpr int DB4_PIN = 4; constexpr int DB5_PIN = 5; constexpr int DB6_PIN = 6; constexpr int DB7_PIN = 7; // Создаём объект для работы с дисплеем // В параметрах передаём используемые пины LiquidCrystal lcd(RS_PIN, EN_PIN, DB4_PIN, DB5_PIN, DB6_PIN, DB7_PIN); void setup() { // Инициализируем дисплей на 2 строки по 16 символов lcd.begin(16, 2); // Открываем соединение с последовательным портом Serial.begin(9600); } void loop() { // Создаём объект динамической строки String data; if (Serial.available()) { // Если пришли данные с последовательного порта // Считываем их в строку data = Serial.readString(); // Выводим данные из строки на дисплей в виде бегущей строки lcdPrintScroll(data); } } // Функция для вывода эффекта бегущей строки void lcdPrintScroll(String str) { // Создаём строку и заполняем её 16-ю пробелами String strSpace; for (int i = 0; i <= 15; i++) { strSpace.concat(" "); } // Создаём строку и заполняем её: String str16; str = strSpace + str + strSpace; for (int i = 0; i < str.length(); i++) { str16 = str.substring(i, i + 16); lcd.setCursor(0, 1); lcd.print(str16); delay(200); } }