1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | #include “RTClib.h” #include “LCDIC2.h” // Name des RTC-Moduls RTC_DS3231 rtc; // 4‑zeiliges LCD LCDIC2 lcd(0x27, 20, 4); void setup() { // RTC-Modul starten rtc.begin(); /* wenn Datum und Zeit nicht korrekt -> Datum/Zeit setzen Jahr, Monat, Tag, Stunde, Minute, Sekunde Beispiel: 2024 Mai 5. 10 Uhr 30 Minuten 30 Sekunden rtc.adjust(DateTime(2024, 5, 5, 10, 30, 30)); */ // LCD starten lcd.begin(); // Cursor “verstecken” lcd.setCursor(false); } void loop() { // aktuelle Zeit holen DateTime aktuell = rtc.now(); lcd.setCursor(0, 0); /* Wochentag anzeigen 0 = Sonntag 1 = Montag … 6 = Samstag */ switch (aktuell.dayOfTheWeek()) { case 0: lcd.print(“Sonntag”); break; case 1: lcd.print(“Montag”); break; case 2: lcd.print(“Dienstag”); break; case 3: lcd.print(“Mittwoch”); break; case 4: lcd.print(“Donnerstag”); break; case 5: lcd.print(“Freitag”); break; case 6: lcd.print(“Samstag”); break; } // Datum anzeigen lcd.setCursor(0, 1); char Datum[] = “Datum: DD.MM.YYYY”; // Datum in String umwandeln und anzeigen lcd.print(aktuell.toString(Datum)); // Zeit anzeigen lcd.setCursor(0, 2); // Format der Uhrzeit festlegen char Zeit[] = “Uhrzeit: hh:mm:ss”; // Datum in String umwandeln und anzeigen lcd.print(aktuell.toString(Zeit)); // gemessene Temperatur in String umwandeln String Temperatur = String(rtc.getTemperature()); // angelsächsische Schreibweise der Temperatur // . durch , ersetzen Temperatur.replace(“.”, “,”); lcd.setCursor(0, 3); // Sonderzeichen für ° = \337 // Temperatur anzeigen lcd.print(“Temperatur: ” + Temperatur + “\337C”); delay(1000); } |
Letzte Aktualisierung: