bonjour voila j’ai ceci Afficheur 4 chiffres à segments LED avec driver I2C avec ce code
#include <TimerOne.h>
#include "TM1637.h" //librairie du driver du 7 segments
#define ON 1
#define OFF 0
#define hhmm 01 //0 pour afficher HH:MM et 1 pour MM:SS
int8_t TimeDisp[] = {0x00,0x00,0x00,0x00}; //Tableau des 4 chiffres
unsigned char ClockPoint = 1;
unsigned char Update;
unsigned char halfsecond = 0;
unsigned char second;
unsigned char minute = 0;
unsigned char hour = 12; //Heure 12:00:00 pour initialiser
// branchement I2C sur CLK -> pinA5 et DIO -->Pin A4
#define CLK A5
#define DIO A4 //3
TM1637 tm1637(CLK,DIO); //Objet tm1637
void setup()
{
tm1637.set();
tm1637.set(7); //0 éclairage faible réglable jusqu'à 7 le plus intense
tm1637.init(); //Initialisation du driver
//Affichage de départ ABCD (le module peut afficher abcdef)
TimeDisp[0] = 10; //Affichage a
TimeDisp[1] = 11; //b
TimeDisp[2] = 12; //c
TimeDisp[3] = 13; //d
tm1637.display(TimeDisp);
delay(5000); //Pendant 5 sec
//Horloge mise à jour 2 fois par seconde pour faire clignotter le :
Timer1.initialize(500000); // timing pour 500ms
Timer1.attachInterrupt(TimingISR); //declare l'interruption qui déclenche TimingISR
}
void loop()
{
if(Update == ON)
{
TimeUpdate();
tm1637.display(TimeDisp);
}
}
void TimingISR()
{
halfsecond ++;
Update = ON;
if(halfsecond == 2){
second ++;
if(second == 60)
{
minute ++;
if(minute == 60)
{
hour ++;
if(hour == 24)hour = 0;
minute = 0;
}
second = 0;
}
halfsecond = 0;
}
// Serial.println(second);
ClockPoint = (~ClockPoint) & 0x01;
}
void TimeUpdate(void)
{
if(ClockPoint)tm1637.point(POINT_ON);
else tm1637.point(POINT_OFF);
if (hhmm==0)
{
TimeDisp[0] = hour / 10; //Affichage hh:mm
TimeDisp[1] = hour % 10;
TimeDisp[2] = minute / 10;
TimeDisp[3] = minute % 10;
}
else
{
//Affichage mm:ss
TimeDisp[0] = minute / 10; //Affichage hh:mm
TimeDisp[1] = minute % 10;
TimeDisp[2] = second / 10;
TimeDisp[3] = second % 10;
}
Update = OFF;
}
c’est sensé afficher l’heure mais j’ai un chronomètre ja trouve pas l erreur dans le code un peu d’aide ne serais pas de refus merci