Bonjour à tous,
Je rencontre un petit problème assez bizarre sur un petit montage de test.
L'idée est tout simplement d'allumer une série de 6 leds en fonction d'une valeur analogique.
Le montage est tout simple: un potar sur l'entrée analogique 0 et 6 leds sur les sorties numériques de 3 à 8.
Systèmatiquement la première led de la série s'éclaire faiblement alors que toutes les autres s'allument franchement. J'ai tenté des inversions un peu dans tous les sens pour éliminer tout problème hardware, c'est bien toujours la led qui correspond à la consigne la plus basse qui s'allume faiblement.
Voici mon code:
int sensorValue = 0; //lecture du potar
int sensorMap = 2; //map vers le réseau de led
int sensorPin = 0; //broche pour le potar
int LedPins[] = {3,4,5,6,7,8}; //broches pour les leds
void setup(){ //on met toutes les broches des leds en sortie et on active la communication série
for( int i = 1; i < 7; i++){
pinMode(LedPins[i], OUTPUT);
}
Serial.begin(9600);
}
void loop(){
sensorValue = analogRead(sensorPin); //lecture de la valeur du potar
Serial.print(sensorValue); //ecriture vers le port série pour validation
Serial.print("\n"); //retour à la ligne
sensorMap = map(sensorValue, 0, 1023, 1, 6); //map de la valeur du potar vers le réseau de leds
Serial.print(sensorMap); //ecriture vers le port série pour validation
Serial.print("\n"); //retour à la ligne
delay(500); //attente pour ne pas flooder l'affichage dans le terminal série
for( int i = 0; i < 7; i++){
digitalWrite(LedPins[i], LOW); //on met toutes les leds à zero
}
for( int i = 0; i <= sensorMap; i++){
digitalWrite(LedPins[i], HIGH); //on allume les leds en dessous de la consigne
}
}
Des idées? des suggestions ?
Evidemment l'affichage dans le terminal série est bon, sensorMap varie bien de 1 à 6 et la lecture du potar de 0 à 1023
EDIT: en relisant mon code à tete reposé lors de l'écriture de ce post je me rend compte que l'erreur vient peut-etre de la boucle pour allumer les leds. Je devrais commencer à 1 au lieu de 0, cela pourrait peut-etre causer mon soucis.
Je ne pourrais tester que vendredi soir donc si vous pouvez confirmer ou infirmer mon intuition, je vous remercie