L'horloge Temps Réel DS1307 | Arduino-passion

top of page Ce site a été créé sur Wix. Créez le vôtre dès aujourd'hui.Commencer

L'horloge temps réel ou RTC (Real Time Clock) DS1307 permet de fournir la date et l'heure à la carte Arduino via la liaison I2C.

La bibliothèque RTC_Library gérant ce module est téléchargeable ici et ses principales fonctions sont :

  • DS1307 horloge. Cette fonction permet de créer l'objet.

  • horloge.begin(). Cette fonction permet d'initialiser l'objet.

  • horloge.fillByYMD(année,mois,jour). Cette fonction permet d'initialiser la date.

  • horloge.fillByHMS(22,48,30). Cette fonction permet d'initialiser l'heure.

  • horloge.fillDayOfWeek(jour) où jour représente le jour de la semaine.Cette fonction permet d'initialiser le jour de la semaine.

  • horloge.setTime(). Cette fonction permet de sauvegarder les données précédentes dans le DS1307.

  • horloge.getTime(). Cette fonction permet de récupérer les données dans le DS1307.

L'HORLOGE TEMPS REEL DS1307

Programme :

/* RTC est un programme qui affiche sur un afficheur LCD la date et l'heure */

#include <Wire.h> // appel des bibliothèques #include "DS1307.h" #include <LiquidCrystal.h>

#define en 7 // affectation des broches #define rs 6 #define d7 5 #define d6 4 #define d5 3 #define d4 2

DS1307 horloge; // création de l'objet horloge LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // création de l'objet lcd void setup() { horloge.begin(); // initialisation de l'objet horloge lcd.begin(16,2); // initialisation de l'objet lcd horloge.fillByYMD(2016,12,28); // initialisation de la date horloge.fillByHMS(10,42,30); // initialisation de l'heure horloge.fillDayOfWeek(WED); // initialisation du jour horloge.setTime(); // sauvegarde dans le DS1307 } void loop() { horloge.getTime(); // acquisition des données lcd.setCursor(0,0); // placement du curseur 1ère ligne 1ère colonne if (horloge.dayOfMonth<10) // affichage du jour { lcd.print("0"); lcd.print(horloge.dayOfMonth, DEC); } else { lcd.print(horloge.dayOfMonth, DEC); } lcd.print("/"); if (horloge.month<10) // affichage du mois { lcd.print("0"); lcd.print(horloge.month, DEC); } else { lcd.print(horloge.month, DEC); } lcd.print("/"); lcd.print(horloge.year+2000, DEC); // affichage de l'année lcd.setCursor(0,1); // placement du curseur 2nde ligne 1ère colonne if (horloge.hour<10) // affichage de l'heure { lcd.print("0"); lcd.print(horloge.hour, DEC); } else { lcd.print(horloge.hour, DEC); } lcd.print(":"); if (horloge.minute<10) // affichage des minutes { lcd.print("0"); lcd.print(horloge.minute, DEC); } else { lcd.print(horloge.minute, DEC); } lcd.print(":"); if (horloge.second<10) // affichage des secondes { lcd.print("0"); lcd.print(horloge.second, DEC); } else { lcd.print(horloge.second, DEC); } }

Exemple :

Nous souhaitons afficher sur un afficheur à cristaux liquides, la date et l'heure.

Liste du matériel :

  • 1 Arduino Uno

  • 1 plaquette d'essai

  • 1 écran à cristaux liquides

  • 1 potentiomètre ou résistance ajustable de 10 KΩ

  • 1 module RTC DS1307

Câblage :

Dans l'univers Arduino, l'horloge temps réel est principalement utilisée pour afficher la date et l'heure, pour horodater des évènements ou pour lancer des actions à une heure précise.

bottom of page

Tag » Arduino Horloge Lcd I2c