Este tutorial es parte de: Matriz de LED RGB ESP32-S3
Proyecto genial para crear aplicaciones divertidas y prácticas utilizando el módulo de matriz RGB ESP32-S3.
Proyecto de reloj en Internet con matriz de LED RGB ESP32-S3 - 4 colores aleatorios
Reloj de Internet ESP32-S3 con colores RGB aleatorios
Este proyecto es un reloj de Internet con matriz RGB ESP32-S3 que se conecta a Wi-Fi, sincroniza la hora local desde un servidor NTP y desplaza la hora enHH:MMformato a través de la NeoMatrix RGB de 8×8 incorporada. En esta versión, las horas, el dos puntos y los minutos se representan cada uno encolores al azarseleccionado en cada ciclo de desplazamiento completo, creando una exhibición de reloj dinámica y juguetona que cambia constantemente.

Cómo funciona este reloj
Después de alimentar la placa a través de USB-C, el ESP32-S3 se conecta a tu red Wi-Fi y recupera la hora local actual de Internet. La hora se divide en tres partes: horas, dos puntos y minutos, y cada parte se dibuja por separado en la matriz RGB. Cuando el texto se desplaza completamente fuera de la pantalla, se eligen nuevos colores aleatorios para el siguiente paso.
Bibliotecas utilizadas
Este boceto utiliza las siguientes bibliotecas:

#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>InstalarAdafruit NeoMatrixdesde el Administrador de Bibliotecas de Arduino. Dependencias requeridas comoAdafruit GFX LibraryyAdafruit NeoPixelse instalará automáticamente.

Configuración de usuario importante
Pin de datos de la matriz (matriz RGB integrada)
Aunque la matriz RGB está integrada en la placa, el pin de datos aún debe estar definido en el código:

#define MATRIX_PIN 14GPIO 14 se utiliza comúnmente en placas de matriz RGB ESP32-S3. Si la variante de su placa utiliza un pin diferente, actualice este valor en consecuencia.
SSID y contraseña de Wi-Fi (distingue entre mayúsculas y minúsculas)
Reemplace las credenciales de Wi-Fi con los detalles de su propia red:
const char* WIFI_SSID = "your WiFi SSID";
const char* WIFI_PASSWORD = "passW0rd";Importante:Las SSID de Wi-Fi sonsensible a mayúsculas y minúsculas. Un SSID llamado"Book"no es lo mismo que"book"Si la capitalización no coincide exactamente, el ESP32-S3 no podrá conectarse.
Servidor NTP, zona horaria y horario de verano
La sincronización de tiempo se realiza utilizando un servidor NTP de internet:
const char* ntpServer = "pool.ntp.org";La hora local se calcula usando UTC y los desplazamientos por horario de verano:
// Toronto-ish: UTC-5, plus 1 hour DST
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;gmtOffset_sec: Desplazamiento UTC en segundos (ajuste según su ubicación)daylightOffset_secUsar3600cuando el horario de verano está activo, o0de lo contrario
Estos ajustes se aplican utilizando:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);Brillo automático de día/noche
El reloj ajusta automáticamente el brillo según la hora actual:
const int DAY_BRIGHTNESS = 40;
const int NIGHT_BRIGHTNESS = 5;
const int NIGHT_START_HOUR = 22;
const int NIGHT_END_HOUR = 6;Entre las 10 PM y las 6 AM, la pantalla se atenúa para reducir el deslumbramiento en entornos oscuros. Durante las horas del día, la matriz vuelve a su brillo normal.
Comportamiento aleatorio de color RGB
Una lista predefinida de colores RGB se almacena en un array, donde cada color se define utilizando valores de Rojo, Verde y Azul que varían de 0 a 255:
uint8_t userColors[][3] = {
{255, 0, 0}, // Red
{0, 255, 0}, // Green
{0, 0, 255}, // Blue
{255, 165, 0}, // Orange
{255, 0, 255}, // Magenta
{0, 255, 255}, // Cyan
{255, 255, 0} // Yellow
};En cada ciclo completo de desplazamiento:
- Eldígitos de horase les asigna un color aleatorio
- Eldos puntosrecibe un color aleatorio diferente
- Eldígitos de un minutorecibir otro color aleatorio
Esto produce una combinación de colores en constante cambio que mantiene el reloj visualmente interesante. Para crear tus propios colores personalizados, puedes usar la herramienta del Selector de Color RGB:Selector de Color RGB.
Lógica de renderizado de tiempo
El tiempo se divide en tres componentes:
- Horas:
HH - Dos puntos:
: - Minutos:
MM
Cada parte se dibuja de forma individual para que pueda tener su propio color, mientras que todas las partes se mueven juntas para formar una animación de desplazamiento suave en la pantalla de 8×8.
Generación de colores aleatorios
Para garantizar la aleatoriedad del color, el boceto siembra el generador de números aleatorios al inicio utilizando un pin analógico no conectado:
randomSeed(analogRead(0));Esto asegura que las combinaciones de colores sean diferentes en cada potenciador y en cada ciclo de desplazamiento.
Demostración
Después de cargar el boceto y alimentar la placa a través de USB-C:
- El ESP32-S3 se conecta a tu red Wi-Fi.
- El tiempo está sincronizado desde internet.
- El tiempo se desplaza hacia adentro.
HH:MMformato - Las horas, los dos puntos y los minutos cambian a colores aleatorios en cada ciclo.
- La pantalla se oscurece automáticamente por la noche.
Descargas y enlaces
El código fuente completo se proporciona a continuación de este artículo. Herramientas y referencias útiles están vinculadas a continuación de este artículo.
Este tutorial es parte de: Matriz de LED RGB ESP32-S3
- Proyectos con Matriz LED RGB para ESP32-S3 (Juego de Inclinación, Texto, Flecha, Demostración WiFi)
- Proyecto 2 de matriz de LED RGB ESP32-S3 - Texto en desplazamiento
- Proyecto de matriz LED RGB ESP32-S3 3 - Texto desde teléfono móvil
- Proyecto de matriz de LED RGB ESP32-S3 4 - Punto inclinado
- Proyecto de Matriz LED RGB ESP32-S3 5 - Flecha siempre arriba
- Proyecto de Matriz LED RGB ESP32-S3 6 - Juego de Cible
- Proyecto de Reloj Básico con Matriz LED RGB ESP32-S3 Wi-Fi + Reloj NTP
- Proyecto de Reloj por Internet con Matriz LED RGB ESP32-S3 - Pantalla de Hora y Fecha multicolor de 2 Relojes
- Proyecto de Reloj de Internet con Matriz de LED RGB ESP32-S3 - 3 Colores Nocturnos con Fecha
- Proyecto de reloj de internet con matriz de LED RGB ESP32-S3 - 5 colores del arcoíris
- Prueba de matriz LED RGB ESP32-S3 para configuración RGB, GRB
Recursos y referencias
-
Vídeo
-
Interno🎨 Color picker Toolrobojax.com
Archivos📁
Archivo de Fritzing
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB