Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Realisation afficheur deporté 1.9 pouce
#1
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.


Pièces jointes Miniature(s)
           
Répondre

#2
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-routeu...n-integre/
Répondre

#3
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.
Répondre

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


Pièces jointes Miniature(s)
   
Installation du Nord 
26 panneaux (425-435-500) -13 Micro-onduleurs APSystems DS3
Total 11840W - 3440W Nord-Est - 8400W Sud-Ouest
Routeur 1: Principal 4 sorties : 3000W sur Chauffe Eau - 5250W sur Radiateurs
Routeur 2: Affichage Infos - Routeur 3: Radiateur Mobile 2000W - Routeur 4: SPA 3000W
Répondre

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

#6
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();
}
Installation du Nord 
26 panneaux (425-435-500) -13 Micro-onduleurs APSystems DS3
Total 11840W - 3440W Nord-Est - 8400W Sud-Ouest
Routeur 1: Principal 4 sorties : 3000W sur Chauffe Eau - 5250W sur Radiateurs
Routeur 2: Affichage Infos - Routeur 3: Radiateur Mobile 2000W - Routeur 4: SPA 3000W
Répondre

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

#8
Il faudra peut être ajuster la taille de police, je suis sur des ESP avec afficheur 3.5"
Installation du Nord 
26 panneaux (425-435-500) -13 Micro-onduleurs APSystems DS3
Total 11840W - 3440W Nord-Est - 8400W Sud-Ouest
Routeur 1: Principal 4 sorties : 3000W sur Chauffe Eau - 5250W sur Radiateurs
Routeur 2: Affichage Infos - Routeur 3: Radiateur Mobile 2000W - Routeur 4: SPA 3000W
Répondre



Atteindre :


Utilisateur(s) parcourant ce sujet :
1 visiteur(s)

Moteur MyBB, © 2002-2026 Melroy van den Berg.