![]() |
|
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" |