Всем привет! Я разрабатываю небольшую метеостанцию на основе 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); }
Код (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(" ")); }