// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include "RTClib.h"
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
RTC_DS1307 rtc;
void setup () {
Serial.begin(9600);
// Serial.begin(115200);
// Serial.println("Hello, ESP32!");
lcd.init();
lcd.backlight();
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (! rtc.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
rtc.adjust(DateTime(2022, 06, 25, 16, 52, 0)); // <----------------------SET TIME AND DATE: YYYY,MM,DD,HH,MM,SS
}
delay(100);
}
void loop () {
DateTime now = rtc.now();
/* Serial.print("Hour :");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.println(now.second(), DEC);
Serial.print("Date :");
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.println();
delay(550); //Print date and time every 1 sec*/
lcd.setCursor(0, 1);
lcd.print("Hour: ");
if (now.hour()<=9)
{
lcd.print("0");
}
lcd.print(now.hour(), DEC);
// hourupg=now.hour();
lcd.print(":");
if (now.minute()<=9)
{
lcd.print("0");
}
lcd.print(now.minute(), DEC);
//minupg=now.minute();
lcd.print(":");
/*if(digitalRead(P1)){
menu=1;
delay(debounce);
}*/
if (now.second()<=9)
{
lcd.print("0");
}
lcd.print(now.second(), DEC);
lcd.setCursor(0, 0);
lcd.print("Date: ");
if (now.day()<=9)
{
lcd.print("0");
}
lcd.print(now.day(), DEC);
//dayupg=now.day();
lcd.print("/");
/*if(digitalRead(P1)){
menu=1;
delay(debounce);
}*/
if (now.month()<=9)
{
lcd.print("0");
}
lcd.print(now.month(), DEC);
// monthupg=now.month();
lcd.print("/");
lcd.print(now.year(), DEC);
// yearupg=now.year();
}
Loading
esp32-s3-devkitc-1
esp32-s3-devkitc-1