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 de internet con matriz de LED RGB ESP32-S3 - 5 colores del arcoíris
Reloj de Internet ESP32-S3 con efecto de color arcoíris
Este proyecto es un reloj 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 del NeoMatrix RGB integrado de 8×8. A diferencia de las versiones de color sólido o aleatorio, este reloj utiliza una transición suaveefecto de color arcoíris, donde cada carácter cambia continuamente a través del espectro RGB mientras se desplaza. El reloj también muestra periódicamente la fecha y ajusta automáticamente el brillo entre el día y la noche.

Cómo funciona este reloj
Una vez alimentado a través de USB-C, el ESP32-S3 se conecta a su red Wi-Fi y recupera la hora local actual de internet. La pantalla normalmente desplaza el tiempo, pero en un intervalo definido cambia para mostrar la fecha. Tanto la hora como la fecha se representan utilizando un efecto de arcoíris dinámico, creando una exhibición vibrante y animada en la pequeña matriz de 8×8.
Bibliotecas utilizadas
El boceto se basa en las siguientes bibliotecas:

#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>InstalarAdafruit NeoMatrixusando el Administrador de bibliotecas de Arduino. Sus dependencias, incluyendoAdafruit GFX LibraryyAdafruit NeoPixel, se instalará automáticamente.

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

#define MATRIX_PIN 14El GPIO 14 se utiliza comúnmente en placas de matriz RGB ESP32-S3. Si tu variante de placa utiliza un pin diferente, actualiza este valor.
SSID de Wi-Fi y contraseña (sensible a mayúsculas y minúsculas)
Reemplace las credenciales de Wi-Fi con los detalles de su propia red:
const char* WIFI_SSID = "your WIFI";
const char* WIFI_PASSWORD = "passW0rd";Importante:Los SSIDs de Wi-Fi sonsensible a mayúsculas y minúsculasUn SSID llamado"Book"no es lo mismo que"book". Si la capitalización no coincide exactamente, el ESP32-S3 no se conectará.
Servidor NTP, zona horaria y horario de verano
El reloj sincroniza la hora utilizando un servidor NTP de internet:
const char* ntpServer = "pool.ntp.org";La hora local se calcula utilizando estos desfases:
// 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 (ejemplo: UTC-5 =-5 * 3600)daylightOffset_secUsar3600si DST está activo, o0si no se utiliza
Estos valores se aplican utilizando:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);Brillo automático día/noche
El brillo cambia automáticamente 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 matriz se atenúa para reducir el deslumbramiento. Durante las horas del día, se restaura el brillo normal.
Efecto de color arcoíris
Este proyecto utiliza una rueda de colores RGB clásica para generar colores de arcoíris suaves. Cada carácter se dibuja con un ligero desplazamiento de color y los colores cambian con el tiempo, produciendo una animación de arcoíris 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);
}A medida que el texto se desplaza, cada carácter avanza a través del espectro RGB, creando un efecto arcoíris continuo que se ve especialmente impresionante en la pequeña pantalla de 8×8.
Comportamiento de la visualización de la hora y la fecha
El reloj mantiene búferes separados para la hora y la fecha:
- Tiempo:
HH:MM - Fecha:
MMM DDpor ejemploJAN 08)
La fecha se muestra en un intervalo fijo:
const uint32_t dateIntervalMs = 60000; // Show date every 1 minuteAl final de cada ciclo completo de desplazamiento, el código decide si continuar mostrando la hora o cambiar a la fecha.
Lógica de desplazamiento en una matriz de 8×8
Debido a que la pantalla solo tiene 8 píxeles de ancho, el texto se desplaza suavemente de derecha a izquierda. Una vez que el texto sale completamente de la pantalla, el cursor se restablece y el siguiente contenido (hora o fecha) se carga para el siguiente pase.
Demostración
Después de subir 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 avanza.
HH:MMformato - La fecha aparece periódicamente.
- Todo el texto se muestra con un suave efecto arcoíris animado.
- La pantalla se atenúa automáticamente por la noche y se ilumina durante el día.
Descargas y enlaces
El código fuente completo se proporciona a continuación de este artículo. Herramientas y referencias útiles, incluido el Selector de Color RGB, también están enlazadas 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 en Internet con matriz de LED RGB ESP32-S3 - 4 colores aleatorios
- 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