je cherche à afficher la valeur donné par un débitmètre sur un écran LCD i2c. Sur le moniteur série mes valeurs s'affiche bien tandis que sur le LCD rien.
l’écran fonctionne et les librairies sont bonnes.
par contre pour 10 impulsions du débit mètre, ta formule donne 7.26 litres..........c'est beaucoup ...non
...
Ce petit bout de code
debut= millis();
while((millis()-debut)<=1000){}
ce n’est pas mieux que delay(1000);ce n’est pas comme cela que l’on utilise millis() dans la loop() quand on ne veut pas faire de l’attente active, autant utiliser delay() tout simplement
Juste pour info - Dans cette expressionSerial.print (Debitmetre, DEC);DEC est inutile, c’est la valeur par défaut
En ne désactivant pas les interruptions, vous continuez à en avoir après avoir attendu 1 seconde, donc la formule n’est sans doute pas juste, surtout que des appels au LCD peuvent être assez longs; de plus un int étant sur 2 octets il se peut même qu’une interruption arrivant au mauvais moment change un des octets de Debitmetre pendant le calcul de la formule.
QuentinV:
je cherche à afficher la valeur donné par un débitmètre sur un écran LCD i2c. Sur le moniteur série mes valeurs s'affichent bien tandis que sur le LCD rien.
l’écran fonctionne et les librairies sont bonnes.
Si rien ne s'affiche, ça peut venir de l'adresse '0x27' qui n'est pas la bonne dans ta définition du LCD:
LiquidCrystal_I2C lcd(0x27, 20, 4);
Pour trouver l'adresse correcte, tu peux utiliser le sketch I2Cscanner
https://playground.arduino.cc/Main/I2cScanner
et en français ici : http://bateaux.trucs.free.fr/scanneur_i2c.html