Utiliser valeur du potentiomètre pour décaler une action

suffit de rechercher les erreurs :slight_smile: je me suis gauffré aussi dans le raisonnement 8)
bon celui la fonctionne impec

détection => led verte pendant 2s => après temps XX du potar => allumage de la rouge => tant que valeur potard >0 led rouge allumée
si valeur potard = 0 => led rouge off => timerledverte = 0
et on attend le détection suivante

A toi de mettre la valeur du potard en place

const int RVar = A0; //potentiomètre 1 "col"
const int RVar1 = A1; //potentiomètre 2 "fond"
const int RVar2 = A2; // potentiomètre 3 "Travers"
const int photoIR = A3; //cellule mesure de lumière ARCHE
const int Ledverte = 8;
const int Ledrouge = 9;

//unsigned long time;
unsigned long timerledverte = 0;
unsigned long timerledrouge = 0;

int sensorValue = 0;
long time =0;
int timeHasCome = 0;

int mesureIR = 0; //Infrarouge initialisation
int mesureBrute = 0; // Potard initialisation
int mesureBrute1 = 0; // Potard initialisation
int mesureBrute2 = 0; // Potard initialisation

int seuil = 500; //Infrarouge seuil sensiblité passage pièce

float mesure;
float mesure1;
float mesure2;

//float potard;
//float potard1;
//float potard2;
int potard = 0;
int potard1 = 0;
int potard2 = 0;

unsigned long time1;
unsigned long time2;
int etat;

int val=0;

void setup() {
pinMode (Ledverte, OUTPUT);
pinMode (Ledrouge, OUTPUT);
pinMode (RVar, INPUT);
pinMode (RVar1, INPUT);
pinMode (RVar2, INPUT);
pinMode (photoIR, INPUT);
digitalWrite(Ledverte,LOW);
digitalWrite(Ledrouge,LOW);
Serial.begin(9600);
Serial.println("initialisation PIR");
delay(3000);
}

void loop() {
//mesureBrute=analogRead(RVar);
// mesure=map(mesureBrute,0,1023,0.0,100.0);
mesure = 1;
potard=mesure*1000;
Serial.print("Lecture mesure1 : ");
Serial.print(mesure);
Serial.print("Lecture potar1 : ");
Serial.println(potard);

// Passage pièce devant InfraRouge

mesureIR = digitalRead(photoIR);

if (mesureIR == HIGH) {
Serial.println("Piece detecte");
digitalWrite (Ledverte, HIGH);
timerledverte = millis();
Serial.print("timerledverte : ");
Serial.println(millis());

timerledrouge = timerledverte + potard;

}

else {
digitalWrite(Ledverte,LOW);
//digitalWrite(Ledrouge,LOW);
//timerledverte = 0;
}
testledrouge();

}

void testledrouge()
{
Serial.println("Testled rouge");
// Mesure et décalage temps et inscription sur LCD
// Initialisation 1er potard
etat=digitalRead(Ledverte);
Serial.print("etat led verte :");
Serial.println(etat);
delay(2000);
digitalWrite (Ledverte, LOW);// on éteint la led verte

if(timerledverte > 0){
Serial.print("timerledrouge : ");
Serial.println(timerledrouge);
Serial.print("milli : ");
Serial.println(millis());
if(timerledrouge > millis()){
digitalWrite(Ledrouge, LOW);

}else{
while(potard > 0){
potard--;
Serial.println(potard);
digitalWrite(Ledrouge, HIGH);
timerledverte = 0;
}
digitalWrite(Ledrouge,LOW);
}
}

}