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 por Internet con Matriz LED RGB ESP32-S3 - Pantalla de Hora y Fecha multicolor de 2 Relojes
Reloj de Internet ESP32-S3 RGB NeoMatrix con visualización de hora y fecha
Este proyecto es un reloj de Internet con matriz RGB mejorado basado en el ESP32-S3 que no solo muestra la hora actual, sino que también muestra periódicamente la fecha. El ESP32-S3 se conecta a Wi-Fi, sincroniza la hora desde un servidor NTP y desplaza ya seaHH:MMo la fecha (por ejemploSEP 21) a través de una NeoMatrix RGB de 8×8. La pantalla admite control automático de brillo día/noche y colores RGB personalizables.

Lo que hace este reloj
Después de conectarse a su red Wi-Fi, el ESP32-S3 obtienen la hora local actual de Internet. El reloj normalmente desplaza la hora, pero a intervalos fijos cambia para mostrar la fecha. El color del texto se puede fijar a un color o ciclar automáticamente a través de múltiples colores definidos por el usuario. El brillo se reduce automáticamente por la noche para facilitar la lectura en la pantalla.
Bibliotecas utilizadas
Este boceto depende de 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 de Wi-Fi y contraseña (distinción entre mayúsculas y minúsculas)
Debes reemplazar las credenciales de Wi-Fi con la información de tu propia red:

const char* WIFI_SSID = "WiFi";
const char* WIFI_PASSWORD = "passW0rd";Importante:Las SSIDs de Wi-Fi sonsensible a mayúsculas y minúsculas. Por ejemplo, un SSID llamado"Book"estánolo 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 utiliza un servidor de tiempo por internet:
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_secSu desfase horario UTC en segundos (ejemplo: UTC-5 =-5 * 3600)daylightOffset_secUsar3600para DST o0si no se utiliza el horario de verano
Estos ajustes se aplican utilizando:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);Control de brillo (día / noche)
Este proyecto ajusta automáticamente el brillo según la hora del día:
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, el brillo se reduce para hacer que la pantalla sea menos distractora en entornos oscuros. Puedes ajustar estos valores según tu preferencia.
Configuración de color RGB
El reloj admite tanto el modo de color fijo como el ciclo de color automático. Los colores RGB definidos por el usuario se almacenan en un arreglo:
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
};Cada color utiliza valores RGB (Rojo, Verde, Azul) que van de 0 a 255. Al cambiar estos números, puedes crear virtually cualquier color para la pantalla. SiuseFixedColorestá configurado paratrue, el reloj siempre utiliza un color. Si está configurado enfalseel color cambia automáticamente después de cada desplazamiento completo.
Para encontrar rápidamente valores RGB precisos para cualquier color que desees, utiliza la herramienta Selector de Color RGB:Selector de color RGB.
Formato de hora y fecha
El tiempo está formateado comoHH:MMy almacenado en un pequeño búfer de caracteres. La fecha está formateada como una cadena en mayúsculas comoSEP 21La pantalla cambia automáticamente entre la hora y la fecha a intervalos fijos.
Lógica de desplazamiento en una pantalla de 8×8
Debido a que una matriz de 8×8 es demasiado pequeña para mostrar el texto completo a la vez, el boceto desplaza el texto horizontalmente. Una vez que el texto sale completamente de la pantalla, se actualiza el color y el contenido cambia entre hora y fecha cuando es necesario.
Demostración
Después de subir el boceto:
- El ESP32 se conecta a Wi-Fi.
- El tiempo está sincronizado desde internet.
- El tiempo actual se desplaza a través de la matriz.
- La fecha aparece periódicamente
- El brillo se ajusta automáticamente para el día y la noche.
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 también 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 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
- 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
Archivos📁
Archivo de Fritzing
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB