// Библиотека для работы с текстовым дисплеем #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) { // Очищаем дисплей lcd.clear(); // Устанавливаем курсор на шестнадцатом знакоместе во второй строке lcd.setCursor(16, 1); // Печатаем строку на дисплей lcd.print(str); // Сдвигаем видимую область дисплея влево на шестнадцать символов for(int i = 0; i < str.length() + 16; i++) { lcd.scrollDisplayLeft(); delay(200); } }