Bonjour,
voici mon programme :
#include <LiquidCrystal.h>
#define valeurMin 0
#define valeurMax 10
int j=0;
//boolean etatRelais=0;
int etatRelais;
LiquidCrystal lcd(7,6,5,4,3,2);
void setup() {
lcd.begin(20, 4);
pinMode(10,INPUT); //Déclaration des pin en entrées
pinMode(11,INPUT);
pinMode(12,INPUT);
pinMode(9,OUTPUT);
digitalWrite(10, HIGH); //Sortie mis à l'état Haut
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
j=0;
lcd.print("Nombre de douche");
lcd.setCursor(0,1);
lcd.print(j);
lcd.setCursor(0,2);
lcd.print("Validation?");
etatRelais=!etatRelais;
digitalWrite(9,etatRelais);
//lcd.print(j);
//delay(100);
}
void loop() {
if (digitalRead(11)==HIGH)//Bouton incrémentation
{
if (j<valeurMax)j++;
lcd.setCursor(0,1);
lcd.print(j);
delay(100);
while((digitalRead(11)==HIGH));
}
if (digitalRead(12)==HIGH)//Bouton décrémentation
{
if (j>valeurMin)j--;
lcd.setCursor(0,1);
lcd.print(j);
delay(100);
while((digitalRead(12)==HIGH));
}
if(digitalRead(10)==HIGH)//Bouton validation
{
int val=j;
lcd.clear();
lcd.print("Vs avez selectionnez");
lcd.setCursor(0,1);
lcd.print(val);
lcd.print(" douche(s)");
lcd.setCursor(0,2);
lcd.print("Temps attente: ");
lcd.print(val*10);
lcd.print(" s");
etatRelais=LOW; // relais état bas
digitalWrite(9,etatRelais); // met la broche de commande dans l'état voulu
delay (val*10000);
etatRelais=HIGH; //relais état haut, éteinte
digitalWrite(9,etatRelais);
//digitalWrite(9,LOW);
//delay(5000);
}
}
En faite je voudrais rappeler la fonction setup() lorsque j'appuie une deuxième fois sur le bouton valider !
Si je fais une autre fonction setupperso() est ce que le message s'affichera bien statique ou est ce qu'il aparaitra-disparaitra-apparaitra........ en clignotant ?! car l'orsque je met le setup dans la loop en ce moment ca me donne cela