Hallo,
ich versuche gerade eine kleine Uhr mit Temperatur- und Feuchtigkeitsanzeige zu bauen.
Dafür verwende ich:
DS3231
DHT22
LCD 20 x 4
Arduino Uno R3
Mein Problem ist, dass meine RTC die Uhrzeit immer ab dem Zeitpunkt der Übertragung des Programmes anzeigt. Also wenn ich ihn mit Strom versorge, fängt die Zeit um 19:40 Uhr an zu laufen.
Aus verschiedenen Programmen habe ich mir jetzt folgenden Sketch gebaut:
#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <DHT.h>
RTC_DS3231 rtc;
LiquidCrystal_I2C lcd(0x27, 20, 4);
DHT dht(3,DHT22);
void setup(){
dht.begin();
Wire.begin(0x27);
Wire.begin(0x68);
rtc.begin();
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
lcd.begin(20,4);
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Hallo");
delay(2000);
lcd.clear();
}
void loop(){
float temp = dht.readTemperature();
float hum = dht.readHumidity();
DateTime now = rtc.now();
lcd.setCursor(0,0);
lcd.print("Temperatur: ");
lcd.print(temp);
lcd.print("\xDF");
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Luftfeuchte: ");
lcd.print(hum);
lcd.print("%");
lcd.setCursor(0,2);
lcd.print("Datum: ");
lcd.print(now.day(), DEC);
lcd.print(".");
lcd.print(now.month(), DEC);
lcd.print(".");
lcd.print(now.year(), DEC);
lcd.setCursor(0,3);
lcd.print("Uhrzeit: ");
lcd.print(now.hour(), DEC);
lcd.print(":");
lcd.print(now.minute(), DEC);
}
Könnt Ihr mir helfen, warum meine RTC nicht auch ohne externe Stromversorgung weiterläuft?