Programme pour un réveil PROJET

Bonjour je suis actuellement sur un projet arduino qui consiste à programmer l’heure à l’aide d’une carte seeeduino et d’un afficheur.
Sur le net j’ai trouvé un programme tout fait qui affiche l’heure selon une heure de départ donné qui est le suivant:
Par contre je ne comprends pas certaine parti du programme que je mets en vert
#include <TimerOne.h>
#include “TM1637.h”
#define ON 1
#define OFF 0

int8_t TimeDisp = {0x00,0x00,0x00,0x00};
unsigned char ClockPoint = 1;
unsigned char Update;
unsigned char halfsecond = 0;
unsigned char second = 50;
unsigned char minute = 49;
unsigned char hour = 10;

#define CLK 2//pins definitions for TM1637 and can be changed to other ports
#define DIO 3
TM1637 tm1637(CLK,DIO);

void setup()
{
tm1637.set();
tm1637.init();
Timer1.initialize(500000);//timing for 500ms
Timer1.attachInterrupt(TimingISR);//declare the interrupt serve routine: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);
TimeDisp[0] = hour / 10;
TimeDisp[1] = hour % 10;
TimeDisp[2] = minute / 10;
TimeDisp[3] = minute % 10;
Update = OFF;
}

Ton message n'est pas posté au bon endroit : ici c'est la section des projets terminés. Demande au modérateur de le déplacer en cliquant sur le lien "report to moderator" sous ton premier message, ou celui-ci.

Les lignes vertes servent à :

  • Définir les pins de branchement de l'afficheur TM1637 (4 chiffres, 7 segments, point entre les blocs de 2 chiffres)
  • Initialiser le code et déclarer l'afficheur et l'interruption qui compte les secondes
  • Mettre à jour l'heure
  • Mettre à jour l'affichage
    La ligne
    ClockPoint = (~ClockPoint) & 0x01;permet de faire clignoter les points entre les blocs de 2 chiffres
    La fonction "void TimeUpdate(void)" met à jour le tableau des chiffres qui seront affichés sur l'afficheur.