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 - 3 Colores Nocturnos con Fecha
Reloj de Internet ESP32-S3 RGB NeoMatrix con brillo automático de día/noche
Este proyecto es un reloj de Internet con matriz RGB ESP32-S3 que ajusta automáticamente el brillo durante el día y la noche. El ESP32-S3 se conecta a Wi-Fi, sincroniza la hora actual desde un servidor NTP y desplaza la hora enHH:MMformato a través de una NeoMatrix RGB de 8×8. El reloj también admite colores RGB fijos o en ciclo para el texto de la pantalla.

Lo que hace este reloj
Después de encenderse, el ESP32-S3 se conecta a su red Wi-Fi y recupera la hora local actual de Internet. La hora se desplaza suavemente a través de la matriz de LED. Durante las horas nocturnas, la pantalla se atenuará automáticamente a un nivel de brillo más bajo, mientras que durante el día vuelve a un nivel más brillante.
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. Todas las dependencias requeridas comoAdafruit GFX LibraryyAdafruit NeoPixelse instalará automáticamente.

Configuración de usuario importante
SSID y contraseña de Wi-Fi (distingue entre mayúsculas y minúsculas)
Reemplace los siguientes valores con sus propias credenciales de Wi-Fi:

const char* WIFI_SSID = "WiFi";
const char* WIFI_PASSWORD = "passW0rd";Importante:Las SSID de Wi-Fi sonsensible a mayúsculas y minúsculasUn SSID llamado"Book"esnolo mismo que"book"Si la capitalización no coincide exactamente, el ESP32 no podrá conectarse.
Servidor NTP, zona horaria y horario de verano
El reloj sincroniza la hora utilizando el siguiente servidor NTP:
const char* ntpServer = "pool.ntp.org";La hora local se calcula utilizando estos desfases:
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;gmtOffset_secdefine tu diferencia horaria UTC en segundosdaylightOffset_secagrega una hora cuando el horario de verano está activo (usar0si no es necesario)
Estos valores se aplican con:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);Brillo automático de día/noche
El brillo de la pantalla cambia automáticamente según la hora actual:
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 AMEntre las 10 PM y las 6 AM, el brillo de la matriz se reduce para hacerlo cómodo en entornos oscuros. Fuera de esas horas, se restaura el brillo completo del día. Puedes ajustar estos valores para adaptarlos a la iluminación de tu habitación.
Configuración de color RGB
El color del texto del reloj se define utilizando valores RGB (Rojo, Verde, Azul), donde cada canal varía de 0 a 255. Se pueden almacenar múltiples colores en un arreglo y ciclar automáticamente.
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
};SiuseFixedColorestá programado paratrue, el reloj siempre utiliza un color. Si se ajusta afalse, el color cambia automáticamente después de cada desplazamiento completo del tiempo.
Para encontrar rápidamente los valores RGB exactos de cualquier color, utiliza la herramienta Selector de Color RGB:Selector de color RGB.
Visualización del tiempo y desplazamiento
La hora actual está formateada comoHH:MMy se almacena en un pequeño búfer de caracteres. Debido a que la pantalla tiene solo 8 píxeles de ancho, el texto se desplaza suavemente de derecha a izquierda. Una vez que el tiempo sale completamente de la pantalla, se selecciona el siguiente color (si está habilitado) para el siguiente pase.
Demostración
Después de subir el boceto:
- El ESP32-S3 se conecta a Wi-Fi.
- El tiempo está sincronizado desde internet.
- El tiempo actual se desplaza a través de la matriz RGB.
- El brillo cambia automáticamente entre el día y la noche.
- El color del texto permanece fijo o cambia según tu configuración.
Descargas y enlaces
El código fuente completo se proporciona a continuación de este artículo. Los enlaces a las partes, herramientas y hojas de datos están disponibles 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 - 5 colores del arcoíris
- 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
Cosas que podrías necesitar
-
Amazonas
-
eBay
-
AliExpressCompra ESP32-S3 Matriz RGB en AliExpress (2)s.click.aliexpress.com
-
AliExpressCompra la matriz RGB ESP32-S3 en AliExpress.s.click.aliexpress.com
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