Ce tutoriel fait partie de: Matrice LED RGB ESP32-S3
Projet sympa à réaliser pour des applications ludiques et pratiques utilisant le module matrice RGB ESP32-S3.
Projet d'Horloge Internet avec Matrice LED RGB ESP32-S3 - Affichage de l'heure et de la date en multi-couleurs
Horloge Internet RGB NeoMatrix ESP32-S3 avec affichage de l'heure et de la date
Ce projet est une horloge Internet avec matrice RGB améliorée ESP32-S3 qui non seulement affiche l'heure actuelle mais montre aussi périodiquement la date. L'ESP32-S3 se connecte au Wi-Fi, synchronise l'heure à partir d'un serveur NTP et fait défiler soitHH:MMou la date (par exempleSEP 21) sur une matrice NeoMatrix RGB de 8×8. L'affichage prend en charge le contrôle automatique de la luminosité jour/nuit et des couleurs RGB personnalisables.

Ce que fait cette horloge
Après s'être connecté à votre réseau Wi-Fi, l'ESP32-S3 récupère l'heure locale actuelle depuis Internet. L'horloge fait normalement défiler l'heure, mais à intervalle fixe, elle passe à l'affichage de la date. La couleur du texte peut être fixée à une seule couleur ou passer automatiquement par plusieurs couleurs définies par l'utilisateur. La luminosité est automatiquement réduite la nuit pour rendre l'affichage plus agréable pour les yeux.
Bibliothèques utilisées
Ce croquis dépend des bibliothèques suivantes :

#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>InstallerAdafruit NeoMatrixdepuis le Gestionnaire de Bibliothèques Arduino. Toutes les dépendances requises telles queAdafruit GFX LibraryetAdafruit NeoPixelsera installé automatiquement.

Configuration utilisateur importante
SSID Wi-Fi et mot de passe (sensible à la casse)
Vous devez remplacer les identifiants Wi-Fi par les informations de votre propre réseau :

const char* WIFI_SSID = "WiFi";
const char* WIFI_PASSWORD = "passW0rd";Important :Les SSID Wi-Fi sontsensible à la casse. Par exemple, un SSID nommé"Book"estnonle même que"book"Si la capitalisation ne correspond pas exactement, l'ESP32 échouera à se connecter.
Serveur NTP, fuseau horaire et heure d'été
L'horloge utilise un serveur de temps Internet :
const char* ntpServer = "pool.ntp.org";L'heure locale est calculée en utilisant ces décalages :
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;gmtOffset_secVotre décalage UTC en secondes (exemple : UTC-5 =-5 * 3600)daylightOffset_secUtiliser3600pour l'heure d'été ou0si l'heure d'été n'est pas utilisée
Ces paramètres sont appliqués en utilisant :
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);Contrôle de la luminosité (jour / nuit)
Ce projet ajuste automatiquement la luminosité en fonction de l'heure de la journée :
const int DAY_BRIGHTNESS = 40;
const int NIGHT_BRIGHTNESS = 5;
const int NIGHT_START_HOUR = 22;
const int NIGHT_END_HOUR = 6;Entre 22 h et 6 h, la luminosité est réduite pour rendre l'affichage moins distrayant dans des environnements sombres. Vous pouvez ajuster ces valeurs selon vos préférences.
Configuration de couleur RVB
L'horloge prend en charge à la fois le mode couleur fixe et le cycle automatique des couleurs. Les couleurs RVB définies par l'utilisateur sont stockées dans un tableau :
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
};Chaque couleur utilise des valeurs RGB (Rouge, Vert, Bleu) allant de 0 à 255. En changeant ces chiffres, vous pouvez créer pratiquement n'importe quelle couleur pour l'affichage. SiuseFixedColorest réglé surtrue, l'horloge utilise toujours une seule couleur. Si réglé surfalsela couleur change automatiquement après chaque défilement complet.
Pour trouver rapidement des valeurs RGB précises pour n'importe quelle couleur que vous souhaitez, utilisez l'outil Sélecteur de Couleurs RGB :Sélecteur de couleur RVB.
Formatage de l'heure et de la date
Le temps est formaté commeHH:MMet stocké dans un petit tampon de caractères. La date est formatée en tant que chaîne en majuscules, telle queSEP 21L'écran passe automatiquement entre l'heure et la date à un intervalle fixe.
Logique de défilement sur un écran 8×8
Parce qu'une matrice 8×8 est trop petite pour afficher le texte complet en une seule fois, l'esquisse fait défiler le texte horizontalement. Une fois que le texte a complètement quitté l'écran, la couleur est mise à jour et le contenu passe entre l'heure et la date lorsque cela est nécessaire.
Démonstration
Après avoir téléchargé le croquis :
- L'ESP32 se connecte au Wi-Fi.
- Le temps est synchronisé depuis Internet.
- Le temps actuel défile à travers la matrice.
- La date apparaît périodiquement.
- La luminosité s'ajuste automatiquement pour le jour et la nuit.
Téléchargements et liens
Le code source complet est fourni ci-dessous cet article. Des liens vers des pièces, des outils et des fiches techniques sont également disponibles ci-dessous cet article.
Ce tutoriel fait partie de: Matrice LED RGB ESP32-S3
- Projets de Matrice LED RGB ESP32-S3 (Jeu d'Inclinaison, Texte, Flèche, Démo WiFi)
- Projet 2 de matrice LED RGB ESP32-S3 - Texte défilant
- Projet de matrice LED RGB ESP32-S3 3 - Texte provenant du téléphone mobile
- Projet de matrice LED RGB ESP32-S3 4 - Point incliné
- Projet de matrice LED RGB ESP32-S3 5 - Flèche toujours vers le haut
- Projet de matrice LED RGB ESP32-S3 6 - Jeu cible
- Projet Horloge de Base ESP32-S3 Matrice LED RGB Wi-Fi + Horloge NTP -1
- Projet d'horloge Internet avec matrice LED RGB ESP32-S3 - 3 couleurs de nuit avec date
- Projet d'horloge Internet avec matrice LED RGB ESP32-S3 - 5 couleurs arc-en-ciel
- Projet d'horloge Internet avec matrice LED RVB ESP32-S3 - 4 couleurs aléatoires
- Test de matrice LED RGB ESP32-S3 pour réglage RGB, GRB
Ce dont vous pourriez avoir besoin
-
Amazon
-
eBay
-
AliExpressAchetez le matrix RGB ESP32-S3 sur AliExpress.s.click.aliexpress.com
-
AliExpressAchetez une matrice RGB ESP32-S3 sur AliExpress (2)s.click.aliexpress.com
Ressources et références
-
Vidéo
Fichiers📁
Fichier Fritzing
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB