Gerçek zamanlı saatimin zamanını bilgisayarımdaki saat olarak ayarlamasını istiyorum. Ancak, aşağıdaki çizimi çalıştırdığımda, gerçek zamanlı saat, zamanı bilgisayarımın zamanından 32-33 saniye önce bildiriyor.
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
void setup () {
Serial.begin(57600);
Wire.begin();
RTC.begin();
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
// uncomment it & upload to set the time, date and start run the RTC!
RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop () {
DateTime now = RTC.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
}
Ayrıca RTC'de zamanı manuel olarak ayarlamayı denedim, ancak aynı sorunla karşılaşıyorum: RTC her zaman ayarladığımdan 32-33 saniye geridedir. Gecikme, çizimi çalıştırdığımda olur. Zamanı nasıl ayarlamaya çalışsam da tamamen aynı hatayla karşılaşıyorum. Arduino'ya zamanı RTC'nin söylediklerinden 33 saniye sonra bildirmesini söyleyebilirim, ancak bu çözüm biraz kabataslak görünüyor ve RTC'mde veya onu kullanma şeklimde bir şeylerin yanlış olduğundan endişeleniyorum.
Adafruit'dan birleştirilmiş Veri Günlüğü Kalkanı ile Arduino Uno kullanıyorum. Veri kaydı kalkanı bir DS1307 RTC kullanır. Bu sorun daha önce olmuş veya neye neden olabileceği hakkında bir fikri olan var mı? Herhangi bir yardım çok takdir edilecektir.