#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal.h>
RTC_DS1307 rtc;
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // Adjust pins based on your wiring
const int ledPin = 3; // PWM pin for LEDs
void setup() {
// Initialize Serial Monitor
Serial.begin(9600);
// Initialize RTC
if (!rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
// Initialize LCD
lcd.begin(16, 2);
lcd.print("RTC & LED Test");
// Set LED pin as output
pinMode(ledPin, OUTPUT);
}
void loop() {
// Display the time on the LCD
DateTime now = rtc.now();
lcd.setCursor(0, 1);
lcd.print(now.hour());
lcd.print(":");
lcd.print(now.minute());
lcd.print(":");
lcd.print(now.second());
analogWrite(ledPin,0);
delay(1000);
analogWrite(ledPin,50);
delay(1000);
analogWrite(ledPin,100);
delay(1000);
analogWrite(ledPin,255);
delay(1000);
/*
// Gradually increase and decrease LED brightness
for (int brightness = 0; brightness <= 255; brightness+=5) {
analogWrite(ledPin, brightness);
//delay(1);
}
for (int brightness = 255; brightness >= 0; brightness-=5) {
analogWrite(ledPin, brightness);
//delay(1);
}
*/
}