Здравствуйте, помогите разобраться с выводом значений с датчиков на lcd2004a проблема заключается в артефактах после значения (видно на фото). Спойлер: Фото Значения выводятся с модуля времени DS3231 (аналогичная ситуация происходит с другими датчиками.) Пробовал использовать разные библиотеки LiquidCrystal_I2C, также откатывал на более ранние версии IDE (сейчас использую 1.8.19). С Arduino (использую китайский клон nano на ATmega168) знаком не давно. Используемый мною код: Код (C++): #include <Wire.h> #include <LiquidCrystal_I2C.h> const byte DS3231 = 0x68; // I2C адрес таймера DS3231 LiquidCrystal_I2C lcd(0x27, 20, 4); // адрес, столбцов, строк void setup() { Wire.begin(); lcd.init(); // инициализация lcd.backlight(); // включить подсветку } void loop() { Wire.beginTransmission(DS3231); // начинаем обмен с DS3231 Wire.write(byte(0x00)); // записываем адрес регистра, с которого начинаем чтение!!! Wire.endTransmission(); // завершаем передачу byte t[7]; // массив для хранения даты и времени int i = 0; // индекс текущего элемента массива Wire.beginTransmission(DS3231); // начинаем обмен с DS3231 Wire.requestFrom(DS3231, 7); // запрашиваем 7 байтов у DS3231 while(Wire.available()) { // пока есть данные от DS3231 t[i] = Wire.read(); // читаем 1 байт и сохраняем в массив t i++; // инкрементируем индекс элемента массива } Wire.endTransmission(); // завершаем обмен printDateTime(t); // выводим дату и время delay(1000); // пауза 1 секунда } // разбирает считанный массив и выводит дату и время void printDateTime(byte *arr) { lcd.setCursor(0, 0); if (arr[4]<10) lcd.print("0"); // дополнение нулями слева для выравнивания lcd.print(arr[4], HEX); // выводим дату lcd.print("."); if (arr[5]<10) lcd.print("0"); lcd.print(arr[5], HEX); // выводим месяц lcd.print(".20"); // 2000-ые годы подразумеваются lcd.print(arr[6], HEX); // выводим год lcd.setCursor(0, 1); if (arr[2]<10) lcd.print("0"); lcd.println(arr[2], HEX); // выводим час lcd.print(":"); if (arr[1]<10) lcd.print("0"); lcd.print(arr[1], HEX); // выводим минуты lcd.print(":"); if (arr[0]<10) lcd.print("0"); lcd.println(arr[0], HEX); // выводим секунды }