Code d'exemple d'affichage K2000 pour un bargraphe à LEDs

par skywodd | | Langue : C++ | Licence : GPLv3

Description :

Code d'exemple d'affichage K2000 pour un bargraphe à LEDs.

Code source :

Voir le code source brut | Télécharger bargraph_led_k2000.ino | Télécharger bargraph_led_k2000.ino.zip

/**
 * Code d'exemple d'affichage K2000 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() {
  
  // Défile à droite
  for (byte i = 1; i < 10; ++i) {
    
    // Affiche la valeur
    afficheBargraphe(i);
    
    // Delai pour la démo
    delay(75);
  }
  
  // Défile à gauche
  for (byte i = 10; i > 1; --i) {
    
    // Affiche la valeur
    afficheBargraphe(i);
    
    // Delai pour la démo
    delay(75);
  }
}

/* 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);
}