/*arduino encodeur rotatif-TM1637
04/08/2023
action sur un compteur, valeurs positives uniquement
liens: https://forum.arduino.cc/t/plusieurs-ky-040-avec-plusieurs-tm1637/1020126/7
https://wokwi.com/projects/372206988443763713
*/
#include "RotaryEncoder.h" // Inclut la bibliothèque pour le bouton rotatif encoder
#include "TM1637Display.h" // Inclut la bibliothèque pour l'affichage 4Digits
//#define TEST_DELAY 2000
// Définition des pins pour l encodeur rotatif
RotaryEncoder encodeur(6, 5); // Définit la Pin 6 pour DT, et 5 pour CLK de l'encodeur
// Définition des pins pour le Display
#define CLK 9 // Définit la Pin 9 pour le CLK du TM1637
#define DIO 10 // Définit la Pin 10 pour le DIO du TM1637
TM1637Display afficheur(CLK, DIO);
// Variables
int compteur = 0;
int compteurNew;
void setup() {
Serial.begin(9600);
afficheur.setBrightness(5);
affichage();
} // fin setup
void loop() {
encodeur.tick();
compteurNew = encodeur.getPosition();
if (compteurNew < 0)
compteurNew =0;
if (compteur != compteurNew) {
affichage();
compteur = compteurNew;
}
} // fin loop
void affichage() {
Serial.print("Compteur: ");
Serial.println(compteurNew);
afficheur.showNumberDec(compteurNew);
} // fin affichage