Untitled
unknown
plain_text
10 months ago
1.9 kB
1
Indexable
#include <DS3231.h> #include <Wire.h> #include <LCD_I2C.h> // Ustawienie adresu I2C dla wyświetlacza LCD (zwykle 0x27 lub 0x3F) LCD_I2C lcd(0x27); // Utworzenie instancji zegara RTC DS3231 myRTC; bool century = false; bool h12Flag; bool pmFlag; void setup() { // Start the serial port Serial.begin(57600); // Start the I2C interface Wire.begin(); // Inicjalizacja wyświetlacza LCD lcd.begin(); lcd.backlight(); // Wydrukowanie pięciu znaczników czasu na serial monitorze for (int i = 0; i < 5; i++) { delay(1000); Serial.print(myRTC.getYear(), DEC); Serial.print("-"); Serial.print(myRTC.getMonth(century), DEC); Serial.print("-"); Serial.print(myRTC.getDate(), DEC); Serial.print(" "); Serial.print(myRTC.getHour(h12Flag, pmFlag), DEC); //24-hr Serial.print(":"); Serial.print(myRTC.getMinute(), DEC); Serial.print(":"); Serial.println(myRTC.getSecond(), DEC); } } void loop() { // Pobranie aktualnego czasu z zegara RTC int year = myRTC.getYear(); int month = myRTC.getMonth(century); int day = myRTC.getDate(); int hour = myRTC.getHour(h12Flag, pmFlag); int minute = myRTC.getMinute(); int second = myRTC.getSecond(); // Wyświetlenie daty na pierwszej linii wyświetlacza LCD lcd.setCursor(0, 0); lcd.print(year + 2000); // Dodanie 2000 do roku, ponieważ getYear() zwraca rok od 2000 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); }
Editor is loading...
Leave a Comment