• Post category:Fort
  • Post comments:0 commentaire
  • Post last modified:mai 25, 2022
  • Temps de lecture :7 min de lecture

Afficher l’heure d’un DS1302 sur un HW-069 ( TM1637 ) avec Arduino

Niveau APPRENTISSAGE :   Fort

 

    Prérequis :

Matériel :

Version IDE :

Bibliothèque :

 

 

Vidéo de démonstration :

 

Schéma de câblage :

 

Code :

// 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);
}

 

 


+ Infos sur le langage utilisé :

1. Fonctions
2. Variables
3. Stucture

 

Laisser un commentaire