Untitled

mail@pastecode.io avatar
unknown
plain_text
20 days ago
1.3 kB
1
Indexable
Never
#include <Wire.h>
#include <DS3231.h>
#include <LiquidCrystal_I2C.h>

// Ustawienie adresu I2C dla wyświetlacza LCD (zwykle 0x27 lub 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);

// Utworzenie instancji zegara RTC
DS3231 rtc;

void setup() {
  // Inicjalizacja komunikacji I2C
  Wire.begin();
  
  // Inicjalizacja wyświetlacza LCD
  lcd.begin();
  lcd.backlight();
  
  // Inicjalizacja zegara RTC
  rtc.begin();

  // Ustawienie formatu czasu
  rtc.setHourMode(CLOCK_H24);
}

void loop() {
  // Pobranie aktualnego czasu z zegara RTC
  int year = rtc.getYear();
  int month = rtc.getMonth();
  int day = rtc.getDate();
  int hour = rtc.getHour();
  int minute = rtc.getMinute();
  int second = rtc.getSecond();
  
  // Wyświetlenie daty na pierwszej linii wyświetlacza LCD
  lcd.setCursor(0, 0);
  lcd.print(year);
  lcd.print("-");
  if(month < 10) lcd.print("0");
  lcd.print(month);
  lcd.print("-");
  if(day < 10) lcd.print("0");
  lcd.print(day);

  // Wyświetlenie czasu na drugiej linii wyświetlacza LCD
  lcd.setCursor(0, 1);
  if(hour < 10) lcd.print("0");
  lcd.print(hour);
  lcd.print(":");
  if(minute < 10) lcd.print("0");
  lcd.print(minute);
  lcd.print(":");
  if(second < 10) lcd.print("0");
  lcd.print(second);
  
  // Odświeżanie co sekundę
  delay(1000);
}
Leave a Comment