// Inclure le code de la bibliothèque: #include "TM1637.h" // Initialise le module TM1637 avec le numéro des pins connecté. // TM1637 tm1637(CLK pin, DIO pin); TM1637 tm1637(2, 3);
// Inclure le code de la bibliothèque: #include <DS1302.h> // Initialise le module DS1302 avec le numéro des pins connecté. // DS1302 rtc(RST pin, DAT pin, SCLK pin); DS1302 rtc(5, 6, 7); // Init une structure de données temporelles. Time t; // Déclaration d'un tableau Heure qui va servir à stocker des valeurs au format int. int Heure[2]; // Déclaration d'un tableau Minute qui va servir à stocker des valeurs au format int. int Minute[2];
void setup() { // Initialiser la communication série à 9600 bits par seconde. Serial.begin(9600); // rtc.halt // Active "false" ou désactive "true" l'horloge. rtc.halt(false); // rtc.writeProtect : // "true" active la protection en écriture. // "false" désactive la protection en écriture et permet de mettre l'horloge à l'heure. rtc.writeProtect(false);
rtc.setDOW(FRIDAY); // Permet de définir le jour de la semaine. rtc.setTime(12, 56, 0); // Permet de régler l'heure ( format 24h ). rtc.setDate(10, 8, 2010); // Permet de régler la date.
// Initialise le module TM1637. tm1637.init(); // Permet de régler la luminosité de l'afficheur. tm1637.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7; }
void loop() { // Récupère les données du DS1302. t = rtc.getTime(); // Imprime la valeur que vous avez reçu dans t.hour au format DEC. Serial.print(t.hour, DEC); // Imprime du texte dans le moniteur série. Serial.print(":"); //Etc... Serial.print(t.min, DEC); Serial.print(":"); Serial.println(t.sec, DEC);
//Permet d'isoler le chiffre des unités de t.hour et stock sa valeur dans Heure[0]. Heure[0] = t.hour % 10; //Permet d'isoler le chiffre des dizaines de t.hour et stock sa valeur dans Heure[1]. Heure[1] = t.hour / 10; //Etc... Minute[0] = t.min % 10; Minute[1] = t.min / 10;
//Affiche la valeur de Heure[1] sur le 1er Digit de l'afficheur ( Valeur 0 = 1er Digit ). tm1637.display(0, Heure[1]); tm1637.display(1, Heure[0]); tm1637.display(2, Minute[1]); tm1637.display(3, Minute[0]); // Ative les ":" sur afficheur. tm1637.point(POINT_ON); // Attend 1 seconde. delay (1000); }