F1ATB forum
Realisation afficheur deporté 1.9 pouce - Version imprimable

+- F1ATB forum (https://f1atb.fr/forum_f1atb)
+-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html)
+--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html)
+--- Sujet : Realisation afficheur deporté 1.9 pouce (/thread-2615.html)



Realisation afficheur deporté 1.9 pouce - JO81 - 14-05-2026

Bonjour; quelqu'un a t'il déjà réalisé un affichage déporté ( genre maisonnette ) avec un écran plus grand que le 1.14 pouce ; je suis en train de modifier le code pour qu'il tourne sur un ESP32 S3 avec écran de 1.9 pouces ( résolution de 170 x 320 ) avec un boitier avec 2 accu 18650 et détecteur IR.


RE: Realisation afficheur deporté 1.9 pouce - F1ATB - 15-05-2026

Vous pouvez faire la même chose avec un routeur avec carte graphique. Vous mettez source extérieure et vous avez les infos du routeur qui régule sur un écran de 2.4 ,2.8 ou 3.2 pouces.

https://f1atb.fr/fr/documentation-routeur-photovoltaique-f1atb/traitement-et-serveur-web/carte-esp32-wroom-avec-ecran-integre/


RE: Realisation afficheur deporté 1.9 pouce - JO81 - 16-05-2026

Pouvez-vous me dire si avec un esp-32 avec afficheur intégré sur la page d'accueil "jauge puissance' il est indiqué la température des sondes qui sont connectées sur l'ESP32. Merci.


RE: Realisation afficheur deporté 1.9 pouce - Richard59 - 17-05-2026

Genre ceci. Oui c'est possible avec quelques modifs du code.


RE: Realisation afficheur deporté 1.9 pouce - JO81 - 17-05-2026

Bonjour; merci pour votre réponse; c'est ce que je recherche ; est il possible d'avoir cotre code modifié.


RE: Realisation afficheur deporté 1.9 pouce - Richard59 - 17-05-2026

Modif dans EcranLCD.ino

J'ai également modifié le fonctionnement de la jauge, ça ne t'intéresse peut être pas. 






void TraceGaugeW() {
  int C = lcd->height() / 1.8;
  int W = lcd->width();
  int W2 = W / 2;
  float Teta0, Teta1;
  int R0 = min(lcd->width(), lcd->height());
  R0 = R0 / 3.1;
  int R1 = 1.5 * R0;
  lcd->fillScreen(CoulFond);
  lcd->setTextColor(CoulTexte, CoulFond);
  Teta0 = -180;
  Teta1 = Teta0 + 180 * 2500 / 9000;
  lcd->fillArc(W2, C, R0, R1, Teta0, Teta1, TFT_RED);
  Teta0 = Teta1;
  Teta1 = Teta0 + 180 / 9;
  lcd->fillArc(W2, C, R0, R1, Teta0, Teta1, TFT_ORANGE);
  Teta0 = Teta1;
  Teta1 = Teta0 + 180 * 35 / 90;
  lcd->fillArc(W2, C, R0, R1, Teta0, Teta1, TFT_GREEN);
  Teta0 = Teta1;
  Teta1 = 0.0;
  lcd->fillArc(W2, C, R0, R1, Teta0, Teta1, TFT_BLUE);
  //lcd->setFont(&fonts::FreeSansBold18pt7b);

lcd->setTextColor(0xFFFF, CoulFond);  // Police en Blanc

  PrintCentre("P.Dispo: " + String(PuissanceS_T + PuissanceI_M - PuissanceS_M) + " W", W2, C + 5, 3);

  if (PuissanceS_M > 0) {
  PrintCentre("Depuis EDF: " + String(PuissanceS_M) + " W", W2, C + 60, 3);
  }
  else {
  PrintCentre("Vers EDF: " + String(PuissanceI_M) + " W", W2, C + 60, 3);
  }
 

if (temperature[0] >= 50.00) {
  lcd->setTextColor(0x07E0, CoulFond);  // Police en Vert
  }
  else {
  lcd->setTextColor(0xFFFF, CoulFond);  // Police en Blanc
  } 
  PrintDroite("CE", W2 - 200, C - 135, 3); 
  lcd->setTextColor(0xFFFF, CoulFond); 
  PrintDroite(String(temperature[0]), W2 - 220, C - 180, 3); // Affichage temperature Eau Chaude en haut a gauche

  if (temperature[1] >= 35.00) {
  lcd->setTextColor(0x07E0, CoulFond);  // Police en Vert
  }
  else {
  lcd->setTextColor(0xFFFF, CoulFond);  // Police en Blanc
  } 
  PrintGauche("SPA", W2 + 160, C - 135, 3);
  lcd->setTextColor(0xFFFF, CoulFond);
  PrintGauche(String(temperature[1]), W2 + 110, C - 180, 3); // Affichage temperature SPA en haut a droite


  lcd->setTextColor(0xFFFF, CoulFond);  // Police en Blanc

  for (int i = 0; i < NbActions; i++) {
    if (LesActions[i].Actif != MODE_INACTIF) {
      String S = LesActions[i].Titre;
      PrintDroite(S, lcd->width() - 50, 2, 1.5);
      lcd->fillCircle(lcd->width() - 22, 22, 18, CoulTexte);
      Teta0 = -90;
      Teta1 = Teta0 + 3.60 * (100 - Retard[i]);
      lcd->fillArc(lcd->width() - 22, 22, 0, 18, Teta0, Teta1, CoulW);
      i = NbActions;
    }
  }
  //Teta0 = -PI + PI * float(PuissanceS_M - PuissanceI_M + 3000.0) / 9000.0;
  Teta0=-PI + PI*float(PuissanceS_T + PuissanceI_M - PuissanceS_M + 3500.0)/9000.0;
  Teta0 = min(Teta0, float(0));
  Teta0 = max(float(-PI), Teta0);
  R0 = 0.5 * R0;
  lcd->fillTriangle(W2 + R1 * cos(Teta0), C + R1 * sin(Teta0), W2 + R0 * cos(Teta0 - 0.2), C + R0 * sin(Teta0 - 0.2), W2 + R0 * cos(Teta0 + 0.2), C + R0 * sin(Teta0 + 0.2), CoulTexte);  //Aiguilles
  TraceDate();
  TraceTarif();
}


RE: Realisation afficheur deporté 1.9 pouce - JO81 - 17-05-2026

Ok; merci , je vais essayer ton code pour avoir l'affichage des températures de mes deux ballons d'eau chaude.


RE: Realisation afficheur deporté 1.9 pouce - Richard59 - 17-05-2026

Il faudra peut être ajuster la taille de police, je suis sur des ESP avec afficheur 3.5"