Проблема с курсором настройки DHT11 и Liquidcrystal

lcd_key = read_LCD_buttons();
float temp = dht.readTemperature();
delay(1000);
// lcd.setCursor(0,0);

if(temp < 0) {
    lcd.print(temp);  
}

if(temp >= 0.00 || temp <= 5.00) {
    lcd.setCursor(0,6);
    lcd.print(temp);
    delay(100);  
}

Здесь я получил простой код для считывания температуры с датчика DHT и ЖК-дисплея, но когда я повышаю или понижаю температуру DHT, курсор ЖК-дисплея всегда печатает мои данные с 0,0.

Я хочу, чтобы при температуре от 0 до 5 по Цельсию он записывал данные на 0,6 на ЖК-экране, но этот код не работает.

Спасибо за ответы.

, 👍0

Обсуждение

просмотрите команду setcutsor(), @jsotola


2 ответа


Лучший ответ:

1

У меня такое ощущение, что вы используете неверные координаты.

0, 6 означает Столбец 0, Строка 6, но большинство ЖК-дисплеев не имеют 6 строк. Вместо этого, я думаю, вам нужно 6, 0 для столбца 6, строки 0.

,

1

Думаю, потому что вы используете

if(temp >= 0.00 || temp <= 5.00){ // записывает больше 0 ИЛИ меньше 5, что всегда будет верно для всех измеренных значений

и не

if(temp >= 0.00 && temp <= 5.00){   // записывает больше 0 и меньше 5, как вы хотите
,

логическая ошибка в коде OP приводит к тому, что temp всегда печатается с (0,6), @jsotola