Effectivement, la notion de BCD n'est pas nécessaire ici, car il faudrait un multiplexeur à 4 entrées (ABCD) pour faire du BCD...
En fait, tu veut de l'octal (en base 8, donc sur trois bits...)
Juste une petite précision / question : ne faut-il pas prendre en compte un éventuel temps de réponse du multiplexeur?
j'ajouterais bien un autre code plus rapide (mais plus éloigné de l'arduino) :
for (i = 0; i < 8; i++){
PORTD &= 0xF1; // mets les pins 1 2 et 3 à 0;
PORTD |= i << 1; // copie i sur les pins 1 2 et 3
// delay(25); // délai 25 ms de stabilisation du multiplexeur (si besoin)
Temperature[i] = analogRead(A0);
}
juste en passant, mais c'est pas obligatoire...