Arduino не может записать на ЖК-экран в функции loop()

Я пытаюсь распечатать материал на ЖК-экране при получении последовательных данных. это работает так:

void setup() {
  // put your setup code here, to run once:
  lcd.begin(16, 2);
  lcd.write("hello");
}

void loop() {
    if (Serial.available() == 5) {
        inputByte_0 = Serial.read();
        delay(10);    
        inputByte_1 = Serial.read();
        delay(10);      
        inputByte_2 = Serial.read();
        delay(10);      
        inputByte_3 = Serial.read();
        delay(10);
        inputByte_4 = Serial.read(); 
    }
    if (inputByte_0 == 9) {
        Serial.println("hi");
        lcd.write("whats up?");
    }
}

Он пишет "привет", когда начинается. он посылает мне сообщение "привет", когда я посылаю правильный байт, но ничего не выводит на экран. Что я делаю неправильно? Спасибо!

2 ответа

Решение

Не используйте функцию lcd.write () для печати строк на ЖК-дисплее. Вместо этого используйте функцию lcd.print("Ваша строка").

lcd.write и lcd.print принадлежат к одному классу LiquidCrystal, но единственное отличие состоит в том, что функция print преобразует аргумент как строку, а функция write () - нет.

Рассмотрите возможность использования lcd.print();

Я бы попробовал использовать lcd.print("String") вместо lcd.write и посмотреть, работает ли это

Другие вопросы по тегам