Dieses Tutorial ist Teil von: ESP32-S3 RGB-LED-Matrix
Ein cooles Projekt zum Nachbauen für spaßige und praktische Anwendungen mit dem ESP32-S3 RGB-Matrix-Modul.
ESP32-S3 RGB-LED-Matrix-Internet-Uhrprojekt - 2-Uhr mehrfarbige Zeit- und Datumsanzeige
ESP32-S3 RGB NeoMatrix Internetuhr mit Zeit- und Datumsanzeige
Dieses Projekt ist eine verbesserte ESP32-S3 RGB-Matrix-Internet-Uhr, die nicht nur die aktuelle Uhrzeit anzeigt, sondern auch regelmäßig das Datum darstellt. Der ESP32-S3 verbindet sich mit Wi-Fi, synchronisiert die Zeit von einem NTP-Server und scrollt entwederHH:MModer das Datum (zum BeispielSEP 21) über eine 8×8 RGB NeoMatrix. Die Anzeige unterstützt eine automatische Helligkeitsregelung für Tag/Nacht und anpassbare RGB-Farben.

Was diese Uhr macht
Nachdem Sie sich mit Ihrem Wi-Fi-Netzwerk verbunden haben, ruft der ESP32-S3 die aktuelle lokale Uhrzeit aus dem Internet ab. Die Uhr zeigt normalerweise die Zeit an, wechselt jedoch in einem festen Intervall zur Anzeige des Datums. Die Textfarbe kann auf eine Farbe festgelegt oder automatisch durch mehrere benutzerdefinierte Farben wechseln. Die Helligkeit wird nachts automatisch reduziert, um das Display augenfreundlicher zu gestalten.
Verwendete Bibliotheken
Dieser Sketch hängt von den folgenden Bibliotheken ab:

#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>InstallierenAdafruit NeoMatrixaus dem Arduino-Bibliotheks-Manager. Alle erforderlichen Abhängigkeiten wieAdafruit GFX LibraryundAdafruit NeoPixelwird automatisch installiert.

Wichtige Benutzerkonfiguration
Wi-Fi-SSID und Passwort (groß- und kleinschreibung ist relevant)
Sie müssen die Wi-Fi-Zugangsdaten durch Ihre eigenen Netzwerkinformationen ersetzen:

const char* WIFI_SSID = "WiFi";
const char* WIFI_PASSWORD = "passW0rd";Wichtig:Wi-Fi-SSIDs sindgroß- und kleinschreibung beachten. Zum Beispiel ein SSID mit dem Namen"Book"istnichtdas gleiche wie"book"Wenn die Groß- und Kleinschreibung nicht genau übereinstimmt, wird der ESP32 keine Verbindung herstellen.
NTP-Server, Zeitzone und Sommerzeit
Die Uhr verwendet einen Internet-Zeitserver:
const char* ntpServer = "pool.ntp.org";Ortszeit wird unter Verwendung dieser Zeitverschiebungen berechnet:
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;gmtOffset_secIhr UTC-Offset in Sekunden (Beispiel: UTC-5 =-5 * 3600)daylightOffset_secVerwenden3600für DST oder0wenn die Sommerzeit nicht verwendet wird
Diese Einstellungen werden angewendet mit:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);Helligkeitsregelung (Tag / Nacht)
Dieses Projekt passt die Helligkeit automatisch basierend auf der Tageszeit an:
const int DAY_BRIGHTNESS = 40;
const int NIGHT_BRIGHTNESS = 5;
const int NIGHT_START_HOUR = 22;
const int NIGHT_END_HOUR = 6;Zwischen 22 Uhr und 6 Uhr wird die Helligkeit reduziert, um das Display in dunklen Umgebungen weniger ablenkend zu machen. Sie können diese Werte an Ihre Vorlieben anpassen.
RGB-Farbkonfiguration
Die Uhr unterstützt sowohl den festen Farbbereich als auch das automatische Farbwechseln. Benutzerspezifische RGB-Farben werden in einem Array gespeichert:
uint8_t userColors[][3] = {
{17, 43, 171}, // Light Blue
{255, 0, 0}, // Red
{0, 255, 0}, // Green
{255, 165, 0}, // Orange
{255, 0, 255} // Magenta
};Jede Farbe verwendet RGB (Rot, Grün, Blau) Werte im Bereich von 0 bis 255. Durch Ändern dieser Zahlen können Sie praktisch jede Farbe für das Display erstellen. WennuseFixedColorist eingestellt auftrue, die Uhr verwendet immer eine Farbe. Wenn sie aufgestellt ist zufalseDie Farbe ändert sich automatisch nach jedem vollständigen Scrollen.
Um schnell genaue RGB-Werte für jede gewünschte Farbe zu finden, verwenden Sie das RGB-Farbwähler-Tool:RGB-Farbwähler.
Datum- und Zeitformatierung
Die Zeit ist formatiert alsHH:MMund in einem kleinen Zeichenpuffer gespeichert. Das Datum ist als Großbuchstabenzeichenkette formatiert, wie zum BeispielSEP 21Das Display schaltet automatisch in einem festen Intervall zwischen Uhrzeit und Datum um.
Scroll-Logik auf einem 8×8-Display
Da eine 8×8-Matrix zu klein ist, um den gesamten Text auf einmal anzuzeigen, scrollt das Sketch den Text horizontal. Sobald der Text die Anzeige vollständig verlässt, wird die Farbe aktualisiert und der Inhalt wechselt bei Bedarf zwischen Uhrzeit und Datum.
Demonstration
Nach dem Hochladen des Entwurfs:
- Der ESP32 verbindet sich mit Wi-Fi.
- Die Zeit wird vom Internet synchronisiert.
- Die aktuelle Zeit läuft über die Matrix.
- Das Datum erscheint gelegentlich.
- Die Helligkeit passt sich automatisch tagsüber und nachts an.
Downloads und Links
Der vollständige Quellcode ist unter diesem Artikel aufgeführt. Links zu Teilen, Werkzeugen und Datenblättern sind ebenfalls unter diesem Artikel verfügbar.
Dieses Tutorial ist Teil von: ESP32-S3 RGB-LED-Matrix
- ESP32-S3 RGB-LED-Matrix-Projekte (Kippspiel, Text, Pfeil, WiFi-Demo)
- ESP32-S3 RGB-LED-Matrix-Projekt 2 - Lauftext
- ESP32-S3 RGB-LED-Matrix-Projekt 3 - Text vom Mobiltelefon
- ESP32-S3 RGB-LED-Matrix-Projekt 4 - Neigungspunkt
- ESP32-S3 RGB-LED-Matrix-Projekt 5 - Pfeil immer nach oben
- ESP32-S3 RGB-LED-Matrix-Projekt 6 - Cible-Spiel
- ESP32-S3 RGB-LED-Matrix Wi-Fi + NTP-Uhrprojekt -1 Basisuhr
- ESP32-S3 RGB-LED-Matrix-Internet-Uhr-Projekt - 3 Nachtfarben mit Datum
- ESP32-S3 RGB-LED-Matrix-Internet-Uhr-Projekt - 5 Regenbogenfarben
- ESP32-S3 RGB-LED-Matrix-Internet-Uhr Projekt - 4 Zufallsfarben
- ESP32-S3 RGB-LED-Matrix-Test für RGB-, GRB-Einstellung
Dinge, die Sie vielleicht brauchen
-
Amazon
-
eBay
-
AliExpressESP32-S3 RGB-Matrix von AliExpress kaufen (2)s.click.aliexpress.com
-
AliExpressKaufen Sie das ESP32-S3 RGB-Matrix von AliExpress.s.click.aliexpress.com
Ressourcen & Referenzen
-
Video
Dateien📁
Fritzing-Datei
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB