Go Down

Topic: [partage] un simple bargraph (Read 1 time) previous topic - next topic

fifi82

Oct 13, 2015, 09:51 pm Last Edit: Nov 10, 2015, 10:13 pm by fifi82
j'ai le code sous la main donc je le partage si ça peut servir ...
il suffit de brancher des led avec leurs résistances sur plusieurs broches dans l'exemple 8 led sur les broches 2 à 9 et un potentiomètre branché sur A0, suivant le réglage du potentiomètre les led s'allument les une après les autre.

à la place du potentiomètre on peut utiliser n'importe quel source il suffit de changer la valeur max de la source ici c'est 1023 car une entrée analogique comme A0 peut varier de 0 à 1023 et écrire à la place de "analogRead(a0)" la source voulue.

Code: [Select]

// un bargraph en quelques lignes, il allume 8 led une à une à partir de la broche 2
//   avec un potentiomètre branché sur l'entrée A0
//
// fifi82 2015

const int led1=2;   // n° de broche de la 1ere led du bargraph
const int nled=8;   // nombre de led utilisé pour le bargraph
 
void setup() {
 
  for (int i=led1; i<led1+nled; i++) pinMode(i, OUTPUT);   // bascule les broches des led en sorties, ici de 2 à 9 sont des sorties
}
 
void loop() {
 
  int a0=analogRead(A0);   // lecture de l'entrée analogique A0
  byte val = map(a0, 0, 1023, 0, nled+1);       // converti la valeur l'entrée ana A0 en nombre de led à allumer
  for (int i=0; i<nled; i++) digitalWrite(led1+i,!(i/val)); // avec un peu de calcul on arrive à allumer la bonne led
                                                            // la valeur de val est égale au nombre de led allumée soit 0 à 8
}



j'attend vos réactions ...

Go Up