Очистка одной ячейки lcd 2004

Тема в разделе "Флудилка", создана пользователем prodrain, 24 дек 2021.

  1. prodrain

    prodrain Нуб

    Всем привет! Я разрабатываю небольшую метеостанцию на основе DHT11 и RTC DS3231. Всё бы ничего, но после того, как секунды доходят до "59", то остается девятка и получается так: "09, 19, 29 ... 99". Подскажите, пожалуйста, как победить эту болезнь.
    Код:
    #include <Wire.h>
    #include "DHT.h"
    #include <LiquidCrystal_I2C.h>
    #include <DS3231.h>
    #define DHTTYPE DHT11
    #define DHTPIN 2
    DHT dht(DHTPIN, DHTTYPE);
    LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
    RTClib myRTC;

    void setup(){
    Wire.begin();
    dht.begin();
    lcd.init(); // initialize the lcd
    lcd.init();
    // Print a message to the LCD.
    }
    void loop(){
    DateTime now = myRTC.now();
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    float hic = dht.computeHeatIndex(t, h, false);
    lcd.backlight();
    lcd.setCursor(2,0);
    lcd.print(F("Humidity: "));
    lcd.print(h);
    lcd.setCursor(1,1);
    lcd.print(F("Temperature: "));
    lcd.print(t);
    lcd.setCursor(4, 2);
    lcd.print(now.hour(), DEC);
    lcd.print(':');
    lcd.print(now.minute(), DEC);
    lcd.print(':');
    lcd.print(now.second(), DEC);
    }
     
  2. Asper Daffy

    Asper Daffy Иксперд

    Пробел туда запихайте.
     
  3. Tomasina

    Tomasina Сушитель лампочек Модератор

    Код (C++):

    lcd.setCursor(2,0);
    lcd.print(F("Humidity: "));
    lcd.print(h);
    lcd.print(F(" "));
    lcd.setCursor(1,1);
    lcd.print(F("Temperature: "));
    lcd.print(t);
    lcd.print(F(" "));
    lcd.setCursor(4, 2);
    lcd.print(now.hour(), DEC);
    lcd.print(F(":"));
    lcd.print(now.minute(), DEC);
    lcd.print(F(":"));
    lcd.print(now.second(), DEC);
    lcd.print(F(" "));
    }
     
  4. prodrain

    prodrain Нуб

    Спасибо большое, помогло!