#include "RTClib.h"
RTC_DS1307 rtc;
unsigned int lastMinute = 0;
void setup() {
pinMode(8, OUTPUT);
Serial.begin(115200);
if (!rtc.begin()) {
abort();
}
Serial.println("Введите дату в формате DD-MM-YYYY/HH-MM-SS или now:");
while (!Serial.available()) {
delay(10);
}
String input = Serial.readString();
if (input.substring(0,3) == "now") {
return;
}
int day = input.substring(0, 2).toInt();
int month = input.substring(3, 5).toInt();
int year = input.substring(6, 10).toInt();
int hour = input.substring(11, 13).toInt();
int minute = input.substring(14, 16).toInt();
int second = input.substring(17, 19).toInt();
rtc.adjust(DateTime(year, month, day, hour, minute, second));
}
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();
if (lastMinute != now.minute()) {
lastMinute = now.minute();
digitalWrite(8, HIGH);
} else {
digitalWrite(8, LOW);
}
delay(5000);
}