Questo tutorial è parte di: Matrice LED RGB ESP32-S3
Fantastico progetto da realizzare per applicazioni pratiche e divertenti utilizzando il modulo ESP32-S3 RGB Matrix.
Progetto di orologio Internet con matrice LED RGB ESP32-S3 - 5 colori arcobaleno
Orologio Internet ESP32-S3 con effetto colore arcobaleno
Questo progetto è un orologio Internet RGB Matrix ESP32-S3 che si connette al Wi-Fi, sincronizza l'ora locale da un server NTP e visualizza l'ora in scorrimento.HH:MMformat sul NeoMatrix RGB 8×8 integrato. A differenza delle versioni a colore solido o casuale, questo orologio utilizza un'effetto morbidoeffetto di colore arcobaleno, dove ogni carattere si sposta continuamente attraverso lo spettro RGB mentre scorre. L'orologio visualizza anche periodicamente la data e regola automaticamente la luminosità tra giorno e notte.

Come funziona questo orologio
Una volta alimentato tramite USB-C, l'ESP32-S3 si connette alla tua rete Wi-Fi e recupera l'ora locale corrente da internet. Il display di solito scorre l'ora, ma a un intervallo definito passa a mostrare la data. Sia l'ora che la data sono visualizzate utilizzando un effetto arcobaleno dinamico, creando un display vibrante e animato sul piccolo matrice 8×8.
Librerie utilizzate
Lo schizzo si basa sulle seguenti librerie:

#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>InstallaAdafruit NeoMatrixutilizzando il Gestore Librerie di Arduino. Le sue dipendenze, inclusiAdafruit GFX LibraryeAdafruit NeoPixel, sarà installato automaticamente.

Configurazione utente importante
Dati del pin della matrice (matrice RGB integrata)
Sebbene la matrice RGB sia collegata alla scheda ESP32-S3, il pin dei dati deve comunque essere definito nel codice:

#define MATRIX_PIN 14Il GPIO 14 è comunemente utilizzato sulle schede matrici RGB ESP32-S3. Se la variante della tua scheda utilizza un pin diverso, aggiorna questo valore.
SSID e password Wi-Fi (differentiati maiuscole e minuscole)
Sostituisci le credenziali Wi-Fi con i dettagli della tua rete:
const char* WIFI_SSID = "your WIFI";
const char* WIFI_PASSWORD = "passW0rd";Importante:Le SSID Wi-Fi sonosensibile alle maiuscole. Un SSID chiamato"Book"non è lo stesso di"book"Se la capitale non corrisponde esattamente, l'ESP32-S3 non riuscirà a connettersi.
Server NTP, fuso orario e ora legale
L'orologio sincronizza l'ora utilizzando un server NTP di internet:
const char* ntpServer = "pool.ntp.org";L'orario locale viene calcolato utilizzando questi offset:
// Toronto-ish: UTC-5, plus 1 hour DST
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;gmtOffset_sec: offset UTC in secondi (esempio: UTC-5 =-5 * 3600)daylightOffset_secUsa3600se l'ora legale è attiva, o0se non usato
Questi valori vengono applicati utilizzando:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);Luminosità automatica giorno / notte
La luminosità cambia automaticamente in base all'ora corrente:
const int DAY_BRIGHTNESS = 40;
const int NIGHT_BRIGHTNESS = 5;
const int NIGHT_START_HOUR = 22;
const int NIGHT_END_HOUR = 6;Tra le 22:00 e le 6:00, la matrice si attenua per ridurre il riflesso. Durante le ore diurne, la luminosità normale viene ripristinata.
Effetto arcobaleno
Questo progetto utilizza una classica ruota dei colori RGB per generare colori arcobaleno morbidi. Ogni carattere è disegnato con un leggero offset di colore diverso e i colori cambiano nel tempo, producendo un'animazione arcobaleno fluida.
// Helper to create Rainbow Colors
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 - WheelPos;
if (WheelPos < 85) {
return matrix.Color(255 - WheelPos * 3, 0, WheelPos * 3);
}
if (WheelPos < 170) {
WheelPos -= 85;
return matrix.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
WheelPos -= 170;
return matrix.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}Man mano che il testo scorre, ogni carattere avanza attraverso lo spettro RGB, creando un effetto arcobaleno continuo che appare particolarmente impressionante sul piccolo display 8×8.
Comportamento della visualizzazione di data e ora
L'orologio mantiene buffer separati per l'ora e la data:
- Tempo:
HH:MM - Data:
MMM DD(per esempioJAN 08)
La data è mostrata a un intervallo fisso:
const uint32_t dateIntervalMs = 60000; // Show date every 1 minuteAlla fine di ogni ciclo di scorrimento completo, il codice decide se continuare a mostrare l'ora o passare alla data.
Logica di scorrimento su una matrice 8×8
Poiché il display è largo solo 8 pixel, il testo scorre senza intoppi da destra a sinistra. Una volta che il testo esce completamente dallo schermo, il cursore si resetta e il contenuto successivo (ora o data) viene caricato per il passaggio successivo.
Dimostrazione
Dopo aver caricato lo sketch e alimentato la scheda tramite USB-C:
- L'ESP32-S3 si connette alla tua rete Wi-Fi
- Il tempo è sincronizzato da Internet.
- Il tempo scorre dentro
HH:MMformato - La data appare periodicamente.
- Tutto il testo viene visualizzato con un effetto arcobaleno animato e fluido.
- Il display si attenua automaticamente di notte e si illumina durante il giorno.
Download e collegamenti
Il codice sorgente completo è fornito sotto questo articolo. Strumenti e riferimenti utili, incluso il selettore di colori RGB, sono anch'essi collegati sotto questo articolo.
Questo tutorial è parte di: Matrice LED RGB ESP32-S3
- Progetti con Matrice LED RGB ESP32-S3 (Gioco Inclinazione, Testo, Freccia, Demo WiFi)
- Progetto Matrice LED RGB ESP32-S3 2 - Testo Scorrevole
- Progetto ESP32-S3 Matrice LED RGB 3 - Testo da telefono cellulare
- Progetto Matrice LED RGB ESP32-S3 4 - Punta inclinata
- Progetto Matrice LED RGB ESP32-S3 5 - Freccia sempre verso l'alto
- Progetto 6 della matrice LED RGB ESP32-S3 - Gioco Cible
- Progetto Orologio Base con Matrice LED RGB ESP32-S3 Wi-Fi + Orologio NTP -1
- Progetto Orologio Internet con Matrice LED RGB ESP32-S3 - Orologio a colori multipli con visualizzazione di Ora e Data
- Progetto Orologio Internet con Matrice LED RGB ESP32-S3 - Colore Notte 3 con Data
- Progetto Orologio Internet con Matrice LED RGB ESP32-S3 - 4 Colori casuali
- Test della matrice LED RGB ESP32-S3 per impostazione RGB, GRB
Risorse e riferimenti
-
Video
-
Interno🎨 Color picker Toolrobojax.com
File📁
File Fritzing
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB