Кракозябры на дисплее i2c arduino при передачи переменной из сторонней программы

countervectorbase
Offline
Зарегистрирован: 04.10.2020

Привет: использую java библиотеку: "PanamaHitek_Arduino-2.8.2.jar". Есть дисплей i2c c русской библиотекой LCD_1602_RUS.h.

Все работает нормально. Английский текст через переменную ip передается нормально.
Но, когда передаю переменную ip с русским текстом из java в arduino дисплей i2c, то вижу кракозябры:
А так в arduino, если писать русские буквы и присваивать этой же переменной, то нет проблем:

 
#include <LCD_1602_RUS.h>

LCD_1602_RUS lcd(0x27,16,2);
String ip="";
void setup()
{
  Serial.begin(9600);
  lcd.init();                     
  lcd.setBacklight(true);// Включаем подсветку дисплея
  lcd.setCursor(0, 1); //16, 0, 32 ,0 1
  lcd.print(ip);
 
}
void loop()
{
  
if (Serial.available() > 0)
{
  ip= Serial.readString(); //Вот Здесь и возникают кракозябры!!!!!!!!!!!
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(ip);
  
  }
}

 

 

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

За кодировки UTF-8  и Win-1251 чонить слышал?

countervectorbase
Offline
Зарегистрирован: 04.10.2020

Где нужно их прописывать?

Еще когда передаю из монитора порта в ардуино дисплей, то в конце текста почему возникает лишняя буква???

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

countervectorbase пишет:

Где нужно их прописывать?

Ява передает, пусть она и перекодирует сначала.  Сделай диагностику вообще, что у тебя в порт приходит

countervectorbase
Offline
Зарегистрирован: 04.10.2020

Спасибо, огромное, чел, на стэке нашел кое-что. Вот код на java. Прокатило!Так и сделал: сначала в java перекодировал в UTF-8, а потом - послал в arduino. 

public  static void SendToArduino(String MyString) { 
try { 
    InputStream is = new ByteArrayInputStream(MyString.getBytes("UTF-8"));
    arduino.sendData(is+"");
}
catch (Exception ex) {ex.printStackTrace();}
}

 

countervectorbase
Offline
Зарегистрирован: 04.10.2020

Не пойму: в среде NetBeans - Все работает на ура: запускаю проект - всё [ок], а когда запускаю с батника готовый файл .jar, то вижу, снова - [кракозябры]. Что подскажите искать в нете?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Перечитайте ответ №1.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Не чётко прописал, похоже ))))