Il y a déjà quelques mois, j'avais ajouté un écran LCD de 2x16 caractères qui trainait dans un tiroir. J'étais en version 8.?? mais c'est pareil en V12.?? car la structure du prog n'a pas changée à l'endroit d'implantation de la modif. Voici le code à adapter surement, je voulais un minimum de renseignement moi aussi en passant devant mon ECS.
La modif à faire ( moi c'est sur la V8 ) mais ça doit fonctionner pour toutes les versions sinon il faut adapter
C'est une ossature de départ. Pour faire simple, j'ai ajouté un mini inter pour éteindre ou allumer le lcd
Si çà peut servir
// inclure cette bibliothèque
#include <LiquidCrystal_I2C.h>
-------------------------------
//Suivant votre modèle commentez l'une ou l'autre des lignes suivantes
//Tester avant tout l'adresse de votre écran ( à trouver sur le net : trouver adresse I2C)
//LiquidCrystal_I2C lcd(0x27, 20, 4); // ligne 8
LiquidCrystal_I2C lcd(0x3F,16,2); // ligne 9
----------------------------
// dans le SETUP
lcd.init(); // initialisation de l'afficheur
delay(10);
lcd.backlight(); // active le rétro-éclairage
-----------------------------
// Dans le LOOP complètement à la fin du LOOP avant la { finale
LCD_Affiche();
------------------------------
// Sous prog d'affichage que chacun peut adapter à sa convenance
// Pour moi 1 ligne il indique Soutiré ou Injecte avec la puissance correspondante
// La deuxieme ligne la plage horaire ( normale, pleine,creuse .....)
void LCD_Affiche(){
String s;
int pos;
s = LTARF;
s.toLowerCase();
pos = s.indexOf(" ",0);
lcd.backlight(); // active le rétro-éclairage
if (PuissanceS_M > PuissanceI_M)
{
lcd.setCursor(0, 0); // se positionner à la première ligne
lcd.print("Soutire : " + String(PuissanceS_M) + " ");
}else{
lcd.setCursor(0,0); // se positionner à la deuxième ligne
lcd.print("Injecte : " + String(PuissanceI_M) + " ");
}
lcd.setCursor(0,1);
lcd.print(s.substring(pos +1));
}