lcd et while

bonjour j'ai un souci entre un ecran lcd qui n'affiche pas la valeur "analogique"
il reste figé jusqu'a la fermeture du conctact et la je patauge :~
pourtant code simple

je joint le code complet

int _ABVAR_1_tmpcommun;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

void setup() {
{
pinMode( 3 , INPUT);
pinMode( 13 , OUTPUT);
pinMode( 2 , INPUT);
lcd.init();
lcd.backlight();
_ABVAR_1_tmpcommun = 0;
}

void loop()
{
lcd.setCursor (5,0);
lcd.setCursor(0, 1);
lcd.setCursor(1, 0);
delay(50);

{
lcd.clear();
delay(10);
_ABVAR_1_tmpcommun = analogRead(A1);
lcd.print("delais : ");
lcd.print(_ABVAR_1_tmpcommun/10);

}
while ( digitalRead( 3) )

{
digitalWrite( 13 , HIGH );

}

digitalWrite( 13 , LOW );
delay( _ABVAR_1_tmpcommun *10);

}

Bonjour,

Ça sent le code généré par un logiciel graphique ...

Ton code actuel fait exactement ce qui tu lui demande ...
Il lit la tension sur A1, affiche la valeur puis bloque tant que D3 est à HIGH.
Ensuite il fait le delay().

Tu veut faire quoi exactement ?

Merci de m'aider
presque généré par soft graphique M'enfin..
c'est le delay qui me gène l’écran ne rafraîchi pas temps
que le delay n'est pas expiré mais je ne trouve pas de soluce pour qu'il affiche tout le temp
la valeur de "a1"

J'ai pas tout compris mais je pense que cet exemple pourrait t'aider :

salut c'est normal qu'il attende la fin de delay ,
en utilisant delay ,c'est comme si tu faisai une pause dans le programe donc il n'effectue pas la suite du prog!
maintenant un delay de 50milliseconde ça doit pas trops te géné non ?
sinon c'est que j'ai pas non plus compris ce que tu cherche a fair!
XD

bonjour et Merci de m'aider
le probleme et que le dernier delay() celui avec la variable*10
est tres long plusieurs dizaine de minutes et l'ecran se fige dessus
la synoptique par elle meme est simple un potar fait varier le temp de remise en fonction d'une led

a tout hasar est ce que sa ne viendrai pas du fait que analogread te renvoi une valeur de 0 a1023 car dans ce cas

500 qui corespond a environ 2.5v te done un delay de 5000 !

mais ci c'est plusieur minute la c'est etrange!

apres que cherche tu a lire sur digitalread(3) car cette boucle peut aussi te poser des probléme ?
"temps que tension sur 3 je mes la 13 a l'etat haut " et ce que cette 13 reste figer aussi pendant le meme laps de temps?

Le délai maximum possible pour analogRead(A1) = 1023 c'est 1023 * 10 = 10230ms -> 10 secondes.

C'est donc ta boucle d'attente sur digitalRead(3) qui bloque ton programme plusieurs minutes.
Ça veut aussi dire que ton câblage sur la broche D3 (un bouton je suppose ?) est foireux car si au bon de 10 minutes tu as suffisamment d'interférences pour faire communiquer la broche c'est pas glorieux ...

Il faut reprendre sur de bonne bases :
-> ton schéma de montage
-> ce que tu veut faire exactement (pas de code ou autre, ton projet lui même)