ieremeev03
New member
Всем привет! Есть у кого то положительный опыт использования esp32 и дисплея формата 1602 с русскими символами? Дисплей подключен через PCF8574T по i2c.
Бьюсь над проблемой уже который день. Использую Arduino IDE и стандартную библиотеку LiquidCrystal_I2C. Суть проблемы в том, что когда я в лупе вывожу текст на экран, то в какой то момент, он выводится иероглифами (как на фото)
С текстом написанным английскими символами проблем нет, работает корректно. Но как только появляются русские символы, то начинаются лаги. Сам дисплей поддерживает русские символы в своей таблице символов.
Прикладываю три фото:
1 фото - Вывод первого экрана
5 сек задержка
2 фото - вывод второго экрана
5 сек задержка
3 фото - видно что начались глюки вместо вывода первого экрана
Вот кусок простейшего кода:
Бьюсь над проблемой уже который день. Использую Arduino IDE и стандартную библиотеку LiquidCrystal_I2C. Суть проблемы в том, что когда я в лупе вывожу текст на экран, то в какой то момент, он выводится иероглифами (как на фото)
С текстом написанным английскими символами проблем нет, работает корректно. Но как только появляются русские символы, то начинаются лаги. Сам дисплей поддерживает русские символы в своей таблице символов.
Прикладываю три фото:
1 фото - Вывод первого экрана
5 сек задержка
2 фото - вывод второго экрана
5 сек задержка
3 фото - видно что начались глюки вместо вывода первого экрана
Вот кусок простейшего кода:
Код:
#define I2C_DISPLAY_ADR 0x27
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int lines = 2;
int chars = 16;
LiquidCrystal_I2C lcd(I2C_DISPLAY_ADR, chars, lines);
int coin = 15;
int temp = 15;
float liters = 4.6;
float price = 3.0;
void setup() {
Serial.begin(115200);
lcd.begin();
lcd.backlight();
}
void loop() {
String msg;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("\xA8\xB8\xBF\xC4""e""\xB3""a""\xC7");
lcd.setCursor(0,1);
lcd.print("t ""\xB3""o""\xE3\xC3");
delay(5000);
coin = random(1, 60);
static char outstr[15];
dtostrf(coin,7, 1, outstr);
lcd.setCursor(0,0);
lcd.print("\xA0""a""\xBB""a""\xBD""c:");
lcd.print(outstr);
lcd.print("p");
float L = (coin)/price;
dtostrf(L,5, 1, outstr);
lcd.setCursor(0,1);
lcd.print("\xE0""oc""\xBF""y""\xBE\xBD""o:");
lcd.print(outstr);
lcd.print("\xBB");
delay(5000);
}
Вложения
-
574.8 KB Просмотры: 11
-
558.1 KB Просмотры: 11
-
547.2 KB Просмотры: 12
-
14.3 KB Просмотры: 12