======== ESP32 Max7219 horloge ========
{{ :start:esp32:max7219:capture_d_ecran_du_2026-08-19_18-43-36.png?direct&600 |}}
==== exemples Programmes Horloge ====
// makerguides.com: synchronizing ESP32 time with SNTP server
#include "WiFi.h"
#include "esp_sntp.h"
#include
#include
#include
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4
#define CLK_PIN 18
#define DATA_PIN 23
#define CS_PIN 5
MD_Parola Display = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
const char* ssid = "---------";
const char* password = "-----------";
// https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv
//const char *timezone = "AEST-10AEDT,M10.1.0,M4.1.0/3"; //Sydney Australie
const char *timezone = "CET-1CEST,M3.5.0,M10.5.0/3";//PARIS
String Time, heure, minute;
String Formatted_date;
void initWiFi() {
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Attente connection wifi....");
}
}
void initSNTP() {
sntp_set_sync_interval(60 * 60 * 1000UL); // 1 h
esp_sntp_setoperatingmode(ESP_SNTP_OPMODE_POLL);
esp_sntp_setservername(0, "pool.ntp.org");
esp_sntp_init();
setenv("TZ", timezone, 1);
tzset();
}
void wait4SNTP() {
Serial.println("String Time, hour, minute;String Formatted_date;synchronizing...");
while (sntp_get_sync_status() != SNTP_SYNC_STATUS_COMPLETED) {
delay(100);
}
}
void obtainTime() {
// https://cplusplus.com/reference/ctime/tm/
char buff1[4];
char buff2[4];
struct tm t;
getLocalTime(&t);
sprintf(buff1, "%02d", t.tm_hour);
sprintf(buff2,"%02d" , t.tm_min);
Serial.println("Heures");
Serial.println(buff1);
Serial.println("Minutes");
Serial.println(buff2);
heure = buff1;
minute = buff2;
Time = heure +":"+ minute;
Display. setTextAlignment(PA_CENTER);
Display.print(Time);
}
void setup()
{
Serial.begin(115200);
initWiFi();
initSNTP();
wait4SNTP();
Display.begin();
Display.setIntensity(0);
Display.displayClear();
}
void loop()
{
obtainTime();
delay(1000);
}
#include
#include
#include
#include
#include
#include
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4
#define CLK_PIN 18
#define DATA_PIN 23
#define CS_PIN 5
MD_Parola Display = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP);
const char* ssid = "----------";// ssid et mdp à Valider
const char* password = "------------";
String Time, hour, minute;
String Formatted_date;
long currentMillis = 0;
long previousMillis = 0;
int interval = 1000;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print("Connection.");
}
Serial.println("");
Serial.println("WiFi connecter.");
timeClient.begin();
timeClient.setTimeOffset(7200);// 7200 = 2*60*60 pour le decalage gmt de +2H en Ete ....
Display.begin();
Display.setIntensity(0);
Display.displayClear();
}
void loop()
{
obtainTime();
}
void obtainTime() {
while(!timeClient.update()) {
timeClient.forceUpdate();
}
currentMillis = millis();
if (currentMillis - previousMillis > interval) {
previousMillis = millis();
Formatted_date = timeClient.getFormattedDate();
Serial.println(Formatted_date);
hour = Formatted_date.substring(11, 13);
minute = Formatted_date.substring(14, 16);
Time = hour + ":" + minute;
Serial.println(Time);
Display.setTextAlignment(PA_CENTER);
Display.print(Time);
}
}
===== Librairies à installer dans l'IDE arduino =====
=== NTP client ===
{{ :start:esp32:max7219:ntpclient-master.zip |}}
=== MD parola ===
"MD_Parola" à installer dans l'IDE arduino : Parola est un écran de texte de défilement modulaire utilisant les contrôleurs d'affichage à matrice LED MAX7219 ou MAX7221 à l'aide d'Arduino
{{ :start:esp32:max7219:md_parola-main.zip |}}
=== Max7219 ===
"MAX7219" à installer dans l'IDE arduino :[[https://github.com/JemRF/max7219|Max7219 sur Github EN]]
{{ :start:esp32:max7219:max7219-1.0.0.zip |}}
===== Fichier STL pour le boitier =====
{{ :start:esp32:max7219:case_max7219_v2_-_3201077.zip |}}
{{ :start:esp32:max7219:low-cost-youtube-subscriber-display-sits-on-a-monitor-no-soldering-required20190523-29316-rqmtr0.zip |}}
{{ :start:esp32:max7219:led-matrix-bar-weather-station-v120230509-86048-k1fv6d.zip |}}