Uhrzeit ohne Animation
|
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 |
#include "MD_Parola.h" #include "RTClib.h" // Hardware MAX7219 #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define AnzahlMatrix 4 #define DATA_PIN 11 #define CLK_PIN 13 #define CS_PIN 10 MD_Parola Matrix = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, AnzahlMatrix); // Name des RTC-Moduls (rtc) RTC_DS3231 rtc; // Wartezeit #define Wartezeit 1000 void setup() { // RTC-Modul starten rtc.begin(); // Zeit aus dem Zeitpunkt des Kompilierens synchronisieren rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); Matrix.begin(); // Helligkeit (1 - 15) Matrix.setIntensity(4); // Abstand der Zeichen Matrix.setCharSpacing(1); // Ausrichtung Matrix.setTextAlignment(PA_CENTER); Matrix.displayClear(); } void loop() { // aktuelle Zeit holen DateTime aktuell = rtc.now(); char Zeit[] = "hh:mm"; Matrix.print(aktuell.toString(Zeit)); delay(Wartezeit); } |
Uhrzeit und Temperatur ohne Animation
|
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 |
#include "MD_Parola.h" #include "RTClib.h" // Hardware MAX7219 #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define AnzahlMatrix 4 #define DATA_PIN 11 #define CLK_PIN 13 #define CS_PIN 10 MD_Parola Matrix = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, AnzahlMatrix); // Name des RTC-Moduls (rtc) RTC_DS3231 rtc; // °C definieren const uint8_t GradC[] = { 6, 3, 3, 56, 68, 68, 68 }; String Zeit; // Wartezeit zwischen uhrzeit und Temperatur #define Wartezeit 5000 void setup() { // RTC-Modul starten rtc.begin(); // Zeit aus dem Zeitpunkt des Kompilierens synchronisieren rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); Matrix.begin(); // ein Zeichen für GradC festlegen Matrix.addChar('#', GradC); // Helligkeit (1 - 15) Matrix.setIntensity(4); // Abstand der Zeichen Matrix.setCharSpacing(1); // Ausrichtung Matrix.setTextAlignment(PA_CENTER); Matrix.displayClear(); } void loop() { // aktuelle Zeit holen DateTime aktuell = rtc.now(); char Zeit[] = "hh:mm"; String Temperatur = String(rtc.getTemperature(), 1); // replace -> . durch , ersetzen Temperatur.replace(".", ","); Matrix.print(aktuell.toString(Zeit)); delay(Wartezeit); Matrix.print(Temperatur + " #"); delay(Wartezeit); } |
Uhrzeit und Temperatur ohne Animation mit Potentiometer
|
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 |
#include "MD_Parola.h" #include "RTClib.h" // Hardware MAX7219 #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define AnzahlMatrix 4 #define DATA_PIN 11 #define CLK_PIN 13 #define CS_PIN 10 MD_Parola Matrix = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, AnzahlMatrix); // Name des RTC-Moduls (rtc) RTC_DS3231 rtc; // °C definieren const uint8_t GradC[] = { 6, 3, 3, 56, 68, 68, 68 }; String Zeit; // Wartezeit zwischen uhrzeit und Temperatur #define Wartezeit 5000 int Helligkeit; void setup() { // RTC-Modul starten rtc.begin(); // beim erneuten Hochladen // vor die Zeile setzen // Zeit aus dem Zeitpunkt des Kompilierens synchronisieren rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // alternativ // beim erneuten Hochladen // vor die Zeile setzen // rtc.adjust(DateTime(2026, 1, 5, 10, 0, 30)); Matrix.begin(); // ein Zeichen für GradC festlegen Matrix.addChar('#', GradC); // Helligkeit (1 - 15) Matrix.setIntensity(0); // Abstand der Zeichen Matrix.setCharSpacing(1); // Ausrichtung Matrix.setTextAlignment(PA_CENTER); Matrix.displayClear(); } void loop() { Helligkeit = map(analogRead(A0), 0, 1023, 0, 15); Matrix.setIntensity(Helligkeit); if (Helligkeit == 0) Matrix.displayShutdown(true); else Matrix.displayShutdown(false); // aktuelle Zeit holen DateTime aktuell = rtc.now(); char Zeit[] = "hh:mm"; String Temperatur = String(rtc.getTemperature(), 1); // replace -> . durch , ersetzen Temperatur.replace(".", ","); Matrix.print(aktuell.toString(Zeit)); delay(Wartezeit); Helligkeit = map(analogRead(A0), 0, 1023, 0, 15); Matrix.setIntensity(Helligkeit); if (Helligkeit == 0) Matrix.displayShutdown(true); else Matrix.displayShutdown(false); Matrix.print(Temperatur + " #"); delay(Wartezeit); } |
Uhrzeit mit Animation
|
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 |
#include "MD_Parola.h" #include "RTClib.h" // Hardware MAX7219 #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define AnzahlMatrix 4 #define DATA_PIN 11 #define CLK_PIN 13 #define CS_PIN 10 MD_Parola Matrix = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, AnzahlMatrix); // Name des RTC-Moduls (rtc) RTC_DS3231 rtc; // String für die Zeit String Zeit; void setup() { // RTC-Modul starten rtc.begin(); // beim erneuten Hochladen // vor die Zeile setzen // Zeit aus dem Zeitpunkt des Kompilierens synchronisieren rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // alternativ // beim erneuten Hochladen // vor die Zeile setzen // Jahr, Monat, Tag, Stunden, Minuten, Sekunden // rtc.adjust(DateTime(2026, 1, 5, 10, 0, 30)); // Matrix starten Matrix.begin(); // Helligkeit (1 - 15) Matrix.setIntensity(4); Matrix.displayClear(); // Geschwindigkeit des Hineinscrollens Matrix.setSpeed(50); // Abstand der Zeichen Matrix.setCharSpacing(1); Matrix.setTextAlignment(PA_CENTER); // Pause zwischen der Animation Matrix.setPause(5000); } void loop() { // String Zeit leeren Zeit = ""; // aktuelle Zeit holen DateTime aktuell = rtc.now(); // String Zeit erstellen und in char-Array umwandeln // wenn Stunden/Minuten < 10 -> 0 davor setzen if (aktuell.hour() < 10) Zeit += "0"; Zeit += String(aktuell.hour()); Zeit += ":"; if (aktuell.minute() < 10) Zeit = Zeit + "0"; Zeit += String(aktuell.minute()); char Uhrzeit[Zeit.length()]; Zeit.toCharArray(Uhrzeit, Zeit.length() + 1); if (Matrix.displayAnimate()) { /* Aufruf displayText char-Array, Position, Geschwindigkeit der Animation, Dauer der Animation, Hineinscollen, Hinausscrollen Parameter Position: PA_LEFT/PA_CENTER/PA_RIGHT Parameter Scrollen: PA_SCROLL_UP_LEFT PA_SCROLL_DOWN_LEFT PA_SCROLL_UP_RIGHT PA_SCROLL_DOWN_RIGHT PA_SCROLL_LEFT PA_SCROLL_RIGHT PA_SCROLL_UP PA_SCROLL_DOWN */ Matrix.displayText(Uhrzeit, Matrix.getTextAlignment(), Matrix.getSpeed(), Matrix.getPause(), PA_SCROLL_UP_LEFT, PA_SCROLL_DOWN_LEFT); } } |
Letzte Aktualisierung: