Compteur

Compteur

//  ***************************************************
//  ***      Compteur : Affichage d’un nombre de 0 a 9999         ***
//  ***    puis de 9999 a 0, sur un afficheur 4 digits                    ***
//  ***************************************************

#include <TM1637TinyDisplay.h>

// Definition des connexions au module d’affichage
#define CLK 9   //  Broche CLOCK – Horloge
#define DIO 8  //  Broche DATA – Données
uint8_t dots = 0b01000000; // Add dots or colons (depends on display module)

#define DELAI_INC  20
#define DELAI_DEC  10

//  Declaration de la variable permettant de piloter l’affichage
TM1637TinyDisplay display1(CLK, DIO);

int nCpt;  // Compteur qui sera affiche
bool bInc;  // Booleen qui indique si on doit augmenter (VRAI) ou descendre (FAUX)

//  Fonction setup : Fonction d’initialisation
void setup() {
  display1.setBrightness(0x0f);   // Definition de la luminosite de l’affichage
  display1.clear();               // RAZ de l’affichage
  nCpt = 0;                       // Mise a 0 du compteur
  bInc = true;
}

//  Fonction d’affichage general
void loop() {
  display1.showNumberDec(nCpt, dots, true); //  Affichage de la valeur nCpt

  if (bInc) {  // On incremente
    nCpt ++; 
    if (nCpt > 9999) {
      nCpt =9999;
      bInc = false;
    }
    delay(DELAI_INC);
  }
  else {  // On decremente
    nCpt –;  // On descend d’une valeur
    if (nCpt < 0) { // On est arrive a 0 : On passe en mode incrementation
      nCpt = 0; // Remise a 0 du compteur
      bInc = true// Incrementation
    }  // Fin SI nCpt < 0
    delay(DELAI_DEC);
  } // Fin ELSE bInc
// Fin loop