Pour ce qui est de l'Arduino, prob de port occupé, téléchargé CH 340, prob avec une erreur sur programme fourni, ATmega328P passé en Oldbootloader ....
Pour le LCD, c'est un I2C, le contraste n'y change rien il est seulement éclairé et la rangée supérieure presente des petits rectangles ...
Ci-joint la partie du programme fourni qui correspond ... langue étrangère pour moi mais sans doute un jeu d'enfant pour vous ...
Auparavent une question :
Lorsque ce matériel sera en route, le but étant d'optimiser la production photovoltaique, je souhaiterai faire une évolution à ce programme, celui-ci commande actuellement un variateur de puissance qui dirige l'excédant d'énergie vers le ballon eau chaude, j'aimerai créer 2 sorties supplémentaires qui , par l'intermédiaire de relais 5V/220, m'envoient l'excédant non plus vers le BEC quand celui-ci est au max de la température, mais vers 2 prises dédiées ...?
Es-ce possible?
Merci de votre réponse
// le code
void setup() {
}
// --------------------ECRIRE SUR LCD ET POUR CHANGER LES VALEUR DuLCD AVEC UN BOUTON POUSSOIR------------------------------------------------
lcd.backlight(); // 2 Allumer l'écran LCD
lcd.clear(); // 2 rafraichir l'écran LCD ( efface les données précédentes)
impulsion = digitalRead(pin_bouton_changer_ecran); //5 Demande à "impulsion" de prendre la valeur de "pin_bouton_changer_ecran"
if (impulsion == 0) compteur_impulsion = compteur_impulsion + 1; //5 On incrémente le compteur d'impulsion s'il y a une impulsion sur le bouton
if (compteur_impulsion == 1) //5 Si le compteur d'impulsion est égale à 1 on affiche le premier écran
{
//-----Ecran n°1:-------------------------------
//1ere ligne, watt entrant et watts sortant----
lcd.setCursor(0, 0); // 4 positionner le curseur sur la ligne 1 et à gauche
lcd.print("1 "); // 4 ecrire "In " pour comprendre qu'il s'agit de la consommation
lcd.print(w_instantane_in,0); // 4 puis écrire la valeur positive de la consommation au compteur EDF avec 2 chiffre derière la virgule
lcd.setCursor(9, 0); // 4 rester sur la ligne 1 mais positionner le curseur sur le caractère 8
lcd.print(w_instantane_out,0); // 4 ecrire la valeur de w_instantane_out (c'est la surproduction) avec 2 chiffre derière la virgule
//2eme ligne, Watt solaire et watts chauffe eau
lcd.setCursor(2, 1); // 4 positionner le curseur sur la ligne 2 et à gauche
lcd.print(w_Solaire,0); // 4 puis écrire la valeur de la surproduction visible par EDF avec les compteurs electroniques (sans les virgules)
lcd.setCursor(9, 1); // 4 Rester sur la ligne 2 mais curseur position 8
lcd.print(w_Chauffe_Eau,0); // 4 puis écrire à la suite la valeur de la surproduction en Wh avec un chiffre derrière la virgule
}
else if (compteur_impulsion == 2) //5 Sinon s'il est égale à 2 on affiche l'écran numéro 2
{
// -----ECRAN N°2:-------------------------------
//1ere ligne, kWh entrant et KkWh sortant--------
lcd.setCursor(0, 0); // 4 positionner le curseur sur la ligne 1 et à gauche
lcd.print("2 "); // 4 ecrire "2" pour comprendre que nous sommes sur l'écran n°2
lcd.print(kwh_cumule_in,4); // 4 puis écrire la valeur de la consommation en kWh avec 4 chiffres derrière la virgule
lcd.setCursor(8, 0); // 4 rester sur la ligne 1 mais positionner le curseur sur le caractère 9
lcd.print(" "); // 4 ecrire " " pour séparer les deux valeur de cette ligne
lcd.print(kwh_cumule_out,4); // 4 ecrire la valeur des Watts cumulé en kWh, c'est la valeur de la surproduction
//2eme ligne, KWh solaire et kWh chauffe eau
lcd.setCursor(2, 1); // 4 positionner le curseur sur la ligne 2 et position 2
lcd.print(kwh_Solaire,4); // 4 puis écrire la valeur de la production cumulée de mes panneaux solaire en kWh
lcd.setCursor(8, 1); // 4 rester sur la ligne 2 mais positionner le curseur en position 2
lcd.print(" "); // 4 ecrire " " pour séparer les deux valeur de cette ligne
lcd.print(kwh_Chauffe_Eau,4); // 4 puis écrire la consomation cumulée de mon chauffe eau en Kwh
}
else if (compteur_impulsion == 3) //7 Sinon s'il est égale à 3 on affiche l'écran numéro 3
{
// -----ECRAN N°:-------------------------------
//1ere ligne, Temperature du chauffe eau--------
lcd.setCursor(0, 0); // 7 positionner le curseur sur la ligne 1 et à gauche
lcd.print("Chauffe eau "); // 7 ecrire "Chauffe eau" pour comprendre que nous sommes sur l'écran n°2
lcd.print(TEMPERATURE0,0); // 7 puis écrire la valeur de temperature sans virgule
lcd.print(" C"); // 7 ecrire " C" pour Celcius
//2eme ligne, Edition du compteur avant montée en température
lcd.setCursor(0, 1); // 7 positionner le curseur sur la ligne 2 et position 3
lcd.print("Compteur ");
lcd.print(Compteur); // 7 puis écrire la valeur du compteur
}
else if (compteur_impulsion == 4) // 5 si on a appuié 4 fois sur le bouton poussoir,
{
compteur_impulsion = 1; // 5 alors on remet le compteur à 0 et on retrouve l'écran n°1
}
} // FIN DU PROGRAMME
void loop() {
}
[/code͏]