/**
* Code d'exemple d'affichage binaire 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 int valeur = 0;
// Affiche la valeur
afficheBargraphe(valeur);
// Incrémente la valeur de 1, revient à 0 si > 1023
if (++valeur == 1024) {
valeur = 0;
}
// Delai pour la démo
delay(250);
}
/* Affiche la valeur en binaire */
void afficheBargraphe(int valeur) {
digitalWrite(PIN_LED_1, bitRead(valeur, 0));
digitalWrite(PIN_LED_2, bitRead(valeur, 1));
digitalWrite(PIN_LED_3, bitRead(valeur, 2));
digitalWrite(PIN_LED_4, bitRead(valeur, 3));
digitalWrite(PIN_LED_5, bitRead(valeur, 4));
digitalWrite(PIN_LED_6, bitRead(valeur, 5));
digitalWrite(PIN_LED_7, bitRead(valeur, 6));
digitalWrite(PIN_LED_8, bitRead(valeur, 7));
digitalWrite(PIN_LED_9, bitRead(valeur, 8));
digitalWrite(PIN_LED_10, bitRead(valeur, 9));
}