I am trying to find a sketch which will allow me to set the time and date on a Grove High Precision RTC Grove - High Precision RTC (DS1307) for Arduino - Seeed Studio but every one I have tried so far either fails to recognise the chip, or appears to set the time, but only when the sketch is running - i.e when it is checked later, the clock is no longer set.
I have tried another clock chip, as I thought the first one may be faulty, and I have checked the voltage from the clock battery.
I have run an I2C Scan, and the chip is being detected on 0x51 (as it should be)
I am using Arduino IDE v1.8.13
In this example, I will use the sketch created by lambor, which is attributed to SeeedStudio, and is called ‘PCF85063TP_RTC’. I have attached the error message as a .txt file.
[color=#222222]#include <Wire.h>[/color]
[color=#222222]#include <PCF8563.h>[/color]
[color=#222222]#include <RTC.h>[/color]
[color=#222222]
[/color]
[color=#222222]DS1307 RTclock;//define a object of PCD85063TP class[/color]
[color=#222222]void setup() {[/color]
[color=#222222] Serial.begin(9600);[/color]
[color=#222222] RTclock.begin();[/color]
[color=#222222]// /*[/color]
[color=#222222]// RTclock.stopClock();[/color]
[color=#222222]// RTclock.fillByYMD(2021,3,19);//Jan 19,2013[/color]
[color=#222222]// RTclock.fillByHMS(20,55,00);//15:28 30"[/color]
[color=#222222]// RTclock.fillDayOfWeek(FRI);//Saturday[/color]
[color=#222222]// RTclock.setTime();//write time to the RTC chip[/color]
[color=#222222]// RTclock.startClock();[/color]
[color=#222222]// */[/color]
[color=#222222] //clock.setcalibration(1, 32767.2); // Setting offset by clock frequency[/color]
[color=#222222]
[/color]
[color=#222222]}[/color]
[color=#222222]void loop() {[/color]
[color=#222222] printTime();[/color]
[color=#222222] delay(1000);[/color]
[color=#222222]}[/color]
[color=#222222]/*Function: Display time on the serial monitor*/[/color]
[color=#222222]void printTime() {[/color]
[color=#222222] RTclock.GetTime();[/color]
[color=#222222] Serial.print(RTclock.hour, DEC);[/color]
[color=#222222] Serial.print(":");[/color]
[color=#222222] Serial.print(RTclock.minute, DEC)s[/color]
[color=#222222] Serial.print(":");[/color]
[color=#222222] Serial.print(RTclock.second, DEC);[/color]
[color=#222222] Serial.print(" ");[/color]
[color=#222222] Serial.print(RTclock.month, DEC);[/color]
[color=#222222] Serial.print("/");[/color]
[color=#222222] Serial.print(RTclock.dayOfMonth, DEC);[/color]
[color=#222222] Serial.print("/");[/color]
[color=#222222] Serial.print(RTclock.year + 2000, DEC);[/color]
[color=#222222] Serial.print(" ");[/color]
[color=#222222] Serial.print(RTclock.dayOfMonth);[/color]
[color=#222222] Serial.print("*");[/color]
[color=#222222] switch (RTclock.dayOfWeek) { // Friendly printout the weekday[/color]
[color=#222222] case MON:[/color]
[color=#222222] Serial.print("MON");[/color]
[color=#222222] break;[/color]
[color=#222222] case TUE:[/color]
[color=#222222] Serial.print("TUE");[/color]
[color=#222222] break;[/color]
[color=#222222] case WED:[/color]
[color=#222222] Serial.print("WED");[/color]
[color=#222222] break;[/color]
[color=#222222] case THU:[/color]
[color=#222222] Serial.print("THU");[/color]
[color=#222222] break;[/color]
[color=#222222] case FRI:[/color]
[color=#222222] Serial.print("FRI");[/color]
[color=#222222] break;[/color]
[color=#222222] case SAT:[/color]
[color=#222222] Serial.print("SAT");[/color]
[color=#222222] break;[/color]
[color=#222222] case SUN:[/color]
[color=#222222] Serial.print("SUN");[/color]
[color=#222222] break;[/color]
[color=#222222] }[/color]
[color=#222222] Serial.println(" ");[/color]
[color=#222222]}[/color]
[color=#222222]
Thanks for your help, March.
RTC_Error.txt (5.52 KB)