/**
* Code d'exemple d'affichage par niveaux pour un bargraphe à LEDs.
*/
/* Les broches */
const byte PIN_LED_1 = 4;
const byte PIN_LED_2 = 5;
const byte PIN_LED_3 = 6;
const byte PIN_LED_4 = 7;
const byte PIN_LED_5 = 8;
const byte PIN_LED_6 = 9;
const byte PIN_LED_7 = 10;
const byte PIN_LED_8 = 11;
const byte PIN_LED_9 = 12;
const byte PIN_LED_10 = 13;
void setup() {
/* Met les broches en sorties */
pinMode(PIN_LED_1, OUTPUT);
pinMode(PIN_LED_2, OUTPUT);
pinMode(PIN_LED_3, OUTPUT);
pinMode(PIN_LED_4, OUTPUT);
pinMode(PIN_LED_5, OUTPUT);
pinMode(PIN_LED_6, OUTPUT);
pinMode(PIN_LED_7, OUTPUT);
pinMode(PIN_LED_8, OUTPUT);
pinMode(PIN_LED_9, OUTPUT);
pinMode(PIN_LED_10, OUTPUT);
/* Eteint les LEDs */
afficheBargraphe(0);
}
void loop() {
static byte valeur = 0;
// Affiche la valeur
afficheBargraphe(valeur);
//afficheBargraphe_inverse(valeur);
// Incrémente la valeur de 1, revient à 0 si > 10
if (++valeur == 11) {
valeur = 0;
}
// Delai pour la démo
delay(1000);
}
/* Affiche la valeur (valeur = n°LED allumée) */
void afficheBargraphe(byte valeur) {
digitalWrite(PIN_LED_1, valeur >= 1);
digitalWrite(PIN_LED_2, valeur >= 2);
digitalWrite(PIN_LED_3, valeur >= 3);
digitalWrite(PIN_LED_4, valeur >= 4);
digitalWrite(PIN_LED_5, valeur >= 5);
digitalWrite(PIN_LED_6, valeur >= 6);
digitalWrite(PIN_LED_7, valeur >= 7);
digitalWrite(PIN_LED_8, valeur >= 8);
digitalWrite(PIN_LED_9, valeur >= 9);
digitalWrite(PIN_LED_10, valeur >= 10);
}
/* Affiche la valeur (valeur = n°LED allumée) */
void afficheBargraphe_inverse(byte valeur) {
digitalWrite(PIN_LED_1, valeur < 1);
digitalWrite(PIN_LED_2, valeur < 2);
digitalWrite(PIN_LED_3, valeur < 3);
digitalWrite(PIN_LED_4, valeur < 4);
digitalWrite(PIN_LED_5, valeur < 5);
digitalWrite(PIN_LED_6, valeur < 6);
digitalWrite(PIN_LED_7, valeur < 7);
digitalWrite(PIN_LED_8, valeur < 8);
digitalWrite(PIN_LED_9, valeur < 9);
digitalWrite(PIN_LED_10, valeur < 10);
}