Messages : 94
Sujets : 7
Inscription : Jan 2025
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