Lecture de la tension d'une sonde Lambda et affichage

Voilà ou j'en suis pour la lecture de la sonde lambda

pour plus de "stabilité" des leds j'ai mis un délais pour les sorties.

Je ne pense pas que ce soit la meilleure (fiable) solution.

Comme suggérer plus haut il faudrait effectivement faire un échantillonnage de tensions sur quelques ms.

j'ai trouvé pas mal de choses mais je nage un peu pour programmer ce "tableau" et l'appliquer, quelqu'un aurait l'envie de me corriger et me compléter mon code, ou au moins me donner les bases ?

merci

// Déclaration et remplissage du tableau...
// ...représentant les broches des LEDs
const int leds[10] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
// le potentiomètre sera branché sur la broche analogique 0
const int potar = 0;
// variable stockant la tension mesurée
int tension = 0;

void setup()
{
  int i = 0;
  for (i = 0; i < 10; i++)
  {

    //tension de référence de 1.1V
    analogReference(INTERNAL);
    // déclaration de la broche en sortie
    pinMode(leds[i], OUTPUT);
    delay(50);

    // mise à l'état haut
    digitalWrite(leds[i], HIGH);
    delay(50);
  }
}


void loop()
{
  // on récupère la valeur de la tension du potentiomètre
  tension = analogRead(potar);
  delay(100);

  // et on affiche sur les LEDs cette tension
  afficher(tension);
}


void afficher(int valeur)
{
  int i;
  for (i = 0; i < 10; i++)
  {
   if ( (valeur>=0) && (valeur<=40) ) 
      digitalWrite(leds[0],LOW); // on allume la LED 1
   else
      digitalWrite(leds[0],HIGH); // on éteind la LED 1

    if ( (valeur>=40) && (valeur<=125) ) 
      digitalWrite(leds[1],LOW); // on allume la LED 2
   else
      digitalWrite(leds[1],HIGH); // on éteint la LED 2


      if ( (valeur>=125) && (valeur<=169) ) 
      digitalWrite(leds[2],LOW); // on allume la LED 3
   else
      digitalWrite(leds[2],HIGH); // on éteint la LED 3


      if ( (valeur>=169) && (valeur<=211) ) 
      digitalWrite(leds[3], LOW); // on allume la LED 4
    else
      digitalWrite(leds[3], HIGH); // ou on éteint la LED 4


        if ( (valeur>=211) && (valeur<=515) ) 
      digitalWrite(leds[4], LOW); // on allume la LED 5
    else
      digitalWrite(leds[4], HIGH); // ou on éteint la LED 5


       if ( (valeur>=515) && (valeur<=770) ) 
      digitalWrite(leds[5], LOW); // on allume la LED 6
    else
      digitalWrite(leds[5], HIGH); // ou on éteint la LED 6


      if ( (valeur>=770) && (valeur<=815) ) 
      digitalWrite(leds[6], LOW); // on allume la LED 7
    else
      digitalWrite(leds[6], HIGH); // ou on éteint la LED 7


      if ( (valeur>=815) && (valeur<=854) ) 
      digitalWrite(leds[7], LOW); // on allume la LED 8
    else
      digitalWrite(leds[7], HIGH); // ou on éteint la LED 8


      if ( (valeur>=854) && (valeur<=897) ) 
      digitalWrite(leds[8], LOW); // on allume la LED 9
    else
      digitalWrite(leds[8], HIGH); // ou on éteint la LED 9


      if ( (valeur>=897) && (valeur<=1000) ) 
      digitalWrite(leds[9], LOW); // on allume la LED 10
    else
      digitalWrite(leds[9], HIGH); // ou on éteint la LED 10


  
}}