Skip to content

Comment utiliser l’Horloge Temps Réel DS1302 (RTC) avec la carte Arduino et LCD i2c

Vidéo tuto



Bonjour et bienvenu dans ce tuto où on voit comment utiliser le module DS1302 (Horloge temps réel) ou bien RTC (Real Time Clock) avec la carte Arduino UNO, on va aussi ajouter un afficheur LCD i2c, et si vous voulez savoir comment utiliser l’afficheur LCD i2c veuillez visiter ce tuto.

DS1302 RTC module

Le module DS1302 comprend le circuit intégré ainsi qu’une pile bouton de 3V, le CI peut être programmé par la carte Arduino, afin de régler l’heure et la date, le module continu à garder le temps réel, et lorsque l’alimentation est coupée, le module continue à fonctionner grâce à sa pile bouton… On trouve ce genre de système dans plusieurs appareils électroniques comme les PCs, téléphones, TVs pour garder la date/heure ainsi que les infos critiques du système…

Avec Arduino ce module peut servir pour l’enregistrement de données d’un ou plusieurs capteurs: Si on veut la valeur d’un capteur chaque 30min avec horodatage, établir les modes veille/réveille pour la carte Arduino afin de préserver l’énergie…




Matériels

En plus de la carte Arduino UNO et le module DS1302 RTC, on va aussi ajouter un afficheur LCD i2c, et quelques fils pour le branchement.

Dans la vidéo et durant le test j’ai rencontré un problème, où le module ne donnait pas la date/heure correctement, j’ai dû donc ajouté une résistance de 1kΩ.

Arduino Uno

 

LCD i²c



Schémas de câblage

Schéma 1: Réglage du module depuis l’Arduino IDE et affichage de la date/heure sur le moniteur série

Le branchement est comme de suite Vcc/Gnd avec 5V/Gnd, CLK/DAT/RST avec D6/D7/D8.

DS1302 avec Arduino

Schéma 2: Affichage de la date/heure sur l’afficheur LCD i2c

Même schéma au dessus, on ajoute l’afficheur LCD i2c comme suite Vcc/Gnd avec 5V/Gnd et SDA/SCL avec A4/A5.

Comme mentionné au dessus, j’ai rencontré (dans le tuto anglais) quelques problèmes d’affichage, pour corriger ce problème j’ai ajouté une résistance de 1kΩ entre DAT et broche D7.

DS1302 avec Arduino et l’afficheur LCD i2c (sans résistance)
DS1302 avec Arduino et l’afficheur LCD i2c (avec résistance)

Librairies

Pour utiliser le DS1302 RTC il faut une librairie: j’ai utilisé RTC Virtuabotix Library que vous pouvez télécharger ici.

Et pour l’afficheur j’utilise la librairie NewLiquidCrystal que vous pouvez télécharger ici.



Codes

Vous pouvez copier les codes ci-dessous ou bien les télécharger ici.

Code 1: Réglage de la date/heure et affichage sur le moniteur série.

Ce code nous permettra d’ajuster la date et l’heure puis on affiche le résultat sur le moniteur série, juste il faut faire très attention à ce qui suit !!

Dans le code il y a cette ligne, elle permet d’établir la date et l’heure, vous trouverez dans le code comment placer les valeurs, cette ligne doit être ajustée juste avant le téléversement du code à la carte Arduino parce qu’elle contienne le temps réel, vous pouvez tenir compte du temps de téléversement, surtout si vous avez un projet avec un code long.

Après que le téléversement soit fait, il faut enlever cette ligne du code en mettant “//” avant pour la rendre comme commentaire et re-téléverser le code !!

Si on enlève pas cette ligne, à chaque fois que l’Arduino redémarre pour une raison ou autre, le module va être ajuster à la date/heure qu’on a établi la première fois, au lieu de fonctionner correctement et garder le temps réel, et bien sur durant vos testes vous allez changer pas mal de choses, il ne faut pas régler la  date/heure à chaque fois.

 

Code 2: Utilisation de l’afficheur LCD i2c

Faites attention encore à la ligne avec la fonction setDS1302Time !! Ajouter la résistance si le module affiche une date “étrange”.

 



Yassine View All

Automation and Electrical Engineer, Electronics amateur trying to share my little projects.

2 thoughts on “Comment utiliser l’Horloge Temps Réel DS1302 (RTC) avec la carte Arduino et LCD i2c Leave a comment

Leave a Reply

Discover more from SURTR TECHNOLOGY

Subscribe now to keep reading and get access to the full archive.

Continue reading