int i=1; // variable pour la durée de la charge en us (10-6 s). 
 
void setup() {
  pinMode(6,OUTPUT); // broche 6 pour l'allumage de la DEL. 
  pinMode(11,OUTPUT);// broche 11 pour la charge et la décharge. 
  Serial.begin(9600);// vitesse des données dans le port série.
}

void loop() {
  digitalWrite(11,LOW);   
  while(analogRead(A0)>1){ /*ne rien faire...*/ }   
  digitalWrite(11,HIGH);  
  delayMicroseconds(i);   
  if((float(analogRead(A0))*5/1023)<3.15){ // test uc<3,15 V ? 
    i=i+1; // si oui alors on augmente i de 1.
    }
  else {
      digitalWrite(6,HIGH);// allumage de la DEL.  
      delay(10*i);         // pause de 10*i ms. 
      digitalWrite(6,LOW); // allumage de la DEL.
      delay(10*i);         // pause de 10*i ms.
      i=1;                 // réinitialisation de i 
  }  
}
