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 Orologio Internet con Matrice LED RGB ESP32-S3 - Colore Notte 3 con Data
Orologio Internet RGB NeoMatrix ESP32-S3 con luminosità automatica giorno/notte
Questo progetto è un orologio Internet RGB Matrix ESP32-S3 che regola automaticamente la luminosità durante il giorno e la notte. L'ESP32-S3 si connette al Wi-Fi, sincronizza l'ora corrente da un server NTP e scorre il tempo inHH:MMformattazione su un NeoMatrix RGB 8×8. L'orologio supporta anche colori RGB fissi o ciclici per il testo visualizzato.

Cosa fa questo orologio
Dopo l'accensione, l'ESP32-S3 si connette alla tua rete Wi-Fi e recupera l'ora locale corrente da internet. L'orario scorre senza interruzioni attraverso la matrice LED. Durante le ore notturne, il display si regola automaticamente su una luminosità inferiore, mentre durante il giorno torna a un livello di luminosità più elevato.
Librerie utilizzate
Questo schizzo utilizza le seguenti librerie:

#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>InstallaAdafruit NeoMatrixdalla Gestione Librerie di Arduino. Tutte le dipendenze necessarie comeAdafruit GFX LibraryeAdafruit NeoPixelverrà installato automaticamente.

Configurazione utente importante
SSID e password Wi-Fi (sensibile alle maiuscole)
Sostituisci i seguenti valori con le tue credenziali Wi-Fi:

const char* WIFI_SSID = "WiFi";
const char* WIFI_PASSWORD = "passW0rd";Importante:Le SSID Wi-Fi sonosensibile alle maiuscoleUn SSID chiamato"Book"ènonlo stesso di"book"Se la capitalizzazione non corrisponde esattamente, l'ESP32 non riuscirà a connettersi.
server NTP, fuso orario e ora legale
L'orologio sincronizza l'ora utilizzando il seguente server NTP:
const char* ntpServer = "pool.ntp.org";L'ora locale viene calcolata utilizzando questi offset:
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;gmtOffset_secdefinisce il tuo offset UTC in secondidaylightOffset_secaggiunge un'ora quando l'ora legale è attiva (usa0se non necessario)
Questi valori sono applicati con:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);Luminosità automatica giorno/notte
La luminosità del display cambia automaticamente in base all'ora corrente:
const int DAY_BRIGHTNESS = 40;
const int NIGHT_BRIGHTNESS = 5;
const int NIGHT_START_HOUR = 22; // 10 PM
const int NIGHT_END_HOUR = 6; // 6 AMTra le 22:00 e le 6:00, la luminosità del display è ridotta per rendere confortevole l'ambiente buio. Al di fuori di quegli orari, la luminosità diurna completa viene ripristinata. Puoi regolare questi valori in base all'illuminazione della tua stanza.
Configurazione del colore RGB
Il colore del testo dell'orologio è definito utilizzando valori RGB (Rosso, Verde, Blu), dove ogni canale varia da 0 a 255. Più colori possono essere memorizzati in un array e ciclicamente cambiati automaticamente:
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
};SeuseFixedColorè impostato sutrue, l'orologio utilizza sempre un colore. Se impostato sufalse, il colore cambia automaticamente dopo ogni scroll completo del tempo.
Per trovare rapidamente i valori RGB esatti per qualsiasi colore, usa lo strumento Selettore Colore RGB:Selettore di colore RGB.
Visualizzazione dell'ora e scorrimento
L'ora attuale è formattata comeHH:MMe memorizzato in un piccolo buffer di caratteri. Poiché il display è largo solo 8 pixel, il testo scorre agevolmente da destra a sinistra. Una volta che il tempo esce completamente dal display, viene selezionato il prossimo colore (se abilitato) per il passaggio successivo.
Dimostrazione
Dopo aver caricato lo schizzo:
- L'ESP32-S3 si connette al Wi-Fi
- Il tempo è sincronizzato da Internet.
- L'ora attuale scorre attraverso la matrice RGB.
- La luminosità cambia automaticamente tra giorno e notte.
- Il colore del testo rimane fisso o cicla in base alle tue impostazioni.
Download e link
Il codice sorgente completo è fornito sotto questo articolo. I collegamenti a parti, strumenti e schede tecniche sono disponibili 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 di orologio Internet con matrice LED RGB ESP32-S3 - 5 colori arcobaleno
- Progetto Orologio Internet con Matrice LED RGB ESP32-S3 - 4 Colori casuali
- Test della matrice LED RGB ESP32-S3 per impostazione RGB, GRB
Cose di cui potresti avere bisogno
-
Amazon
-
eBay
-
AliExpressAcquista ESP32-S3 RGB Matrix su AliExpress (2)s.click.aliexpress.com
-
AliExpressAcquista la matrice RGB ESP32-S3 da AliExpresss.click.aliexpress.com
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