Tôi muốn đồng hồ thời gian thực của mình đặt thời gian là giờ trên PC. Tuy nhiên, khi tôi chạy bản phác thảo sau, đồng hồ thời gian thực báo cáo thời gian sớm hơn 32-33 giây so với PC của tôi cho biết thời gian là.
#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();
}
Tôi cũng đã thử cài đặt thủ công thời gian trên RTC, nhưng tôi kết thúc với cùng một vấn đề: RTC luôn chậm hơn 32-33 giây so với những gì tôi đặt. Sự chậm trễ xảy ra ngay khi tôi chạy bản phác thảo. Nó có vẻ rất kỳ lạ với tôi rằng cho dù tôi cố gắng đặt thời gian như thế nào, cuối cùng tôi cũng bị lỗi tương tự. Tôi có thể yêu cầu Arduino báo cáo thời gian là 33 giây sau khi RTC nói, nhưng giải pháp này có vẻ sơ sài và tôi lo lắng rằng có gì đó không đúng với RTC của tôi hoặc cách tôi đang sử dụng nó.
Tôi đang sử dụng Arduino Uno với Khiên ghi nhật ký dữ liệu được lắp ráp từ Adaf nhung. Lá chắn ghi dữ liệu sử dụng RTC DS1307. Có ai có vấn đề này trước đây, hoặc có bất kỳ ý tưởng về những gì có thể gây ra nó? Bất kì sự trợ giúp nào đều được đánh giá cao.