Bonjour et désolé de mon retard mais je n'ai pas pu m'y remettre avant !
Je pense que je vais vous donnez tout mon programme afin que tout l monde comprenne mieux !
#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);
}
}
Donc voila à partir de cela, je voudrais que l'on m'aide d'une part en corrigeant les erreurs, d'autre part en rendant les boutons inactifs les deux boutons d'incrémentation et enfin lorsque l'on appuie une première fois sur valider cela nous valide notre choix et quand on ré-appuie sur cette touche le programme repars au setup() !
J'espère avoir été le plus clair, si vous avez des question je vous répondrez!
Merci d'avance pour votre aide!