Outils pour utilisateurs

Outils du site


start:esp32:max7219:horloge

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:esp32:max7219:horloge [2026/08/19 18:44] adminstart:esp32:max7219:horloge [2026/08/22 17:37] (Version actuelle) – [exemples Programmes Horloge] admin
Ligne 2: Ligne 2:
  
 {{ :start:esp32:max7219:capture_d_ecran_du_2026-08-19_18-43-36.png?direct&600 |}} {{ :start:esp32:max7219:capture_d_ecran_du_2026-08-19_18-43-36.png?direct&600 |}}
 +==== exemples Programmes Horloge ====
 +<code c horloge002.ino>
 +//  makerguides.com: synchronizing ESP32 time with SNTP server
 +
 +#include "WiFi.h"
 +#include "esp_sntp.h"
 +
 +#include <MD_Parola.h>
 +#include <MD_MAX72xx.h>
 +#include <SPI.h>
 +
 +#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);
 +}
 +
 +</code>
 +
  
  
Ligne 13: Ligne 111:
  
 #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define HARDWARE_TYPE MD_MAX72XX::FC16_HW
-//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_H+
  
 #define MAX_DEVICES 4 #define MAX_DEVICES 4
Ligne 38: Ligne 136:
   while (WiFi.status() != WL_CONNECTED) {   while (WiFi.status() != WL_CONNECTED) {
     delay(500);     delay(500);
-    Serial.print("Connecting.");+    Serial.print("Connection.");
   }   }
   Serial.println("");   Serial.println("");
-  Serial.println("WiFi connected.");+  Serial.println("WiFi connecter.");
  
   timeClient.begin();   timeClient.begin();
-  timeClient.setTimeOffset(7200);// 7200 = 2*60*60 pour le decalage gmt de 2H  en Ete ....+  timeClient.setTimeOffset(7200);// 7200 = 2*60*60 pour le decalage gmt de +2H  en Ete ....
      
   Display.begin();   Display.begin();
/home/chanteri/www/fablab37110/data/attic/start/esp32/max7219/horloge.1787157856.txt.gz · Dernière modification : de admin