Ds1302 reset time
Cet exemple va démontrer l’utilisation d’un Arduino UNO pour régler l’heure et ensuite lire l’heure du module. Une fois connecté et le programme chargé, il va charger une heure et commencer à lire l’heure du chipset toutes les secondes. Ce programme utilise la bibliothèque DS1302 RTC créée par Matt Sparks pour s’interfacer avec le chipset.
Le code consiste en un include, des définitions, 2 fonctions, setup et loop. D’abord la bibliothèque DS1302 RTC est liée au code. Ceci est suivi par la définition des broches et l’initialisation de l’objet horloge utilisé par la bibliothèque. Ensuite, une fonction qui convertit la sortie du jour par le chipset dans un format de chaîne. La deuxième fonction s’interface avec le chipset pour obtenir une heure, puis joint les différents éléments pour former un tableau de caractères qui sera remis à la fonction appelante. Le setup initialise la connexion série. Elle fixe ensuite une date et l’envoie au chipset pour la conserver. Ces 4 lignes ne sont pas nécessaires à chaque fois. La boucle appelle l’heure à partir de la fonction readTime() et l’envoie à la connexion série, en faisant une pause d’une seconde et en répétant.
Ds1302 esp32
Le module horloge temps réel DS1302 est un module bon marché avec une grande précision qui peut être utilisé dans différents projets. Ce module RTC fournit des informations sur les secondes, les minutes, les heures, le jour, la date, le mois et l’année. Dans ce module, la date est définie automatiquement selon que le mois compte 29, 30 ou 31 jours et qu’il s’agit d’une année bissextile ou non. (Cela n’est valable que jusqu’à l’année 2100).
Dans ce code, au début, l’information sur l’heure est donnée au module comme point de départ. Ensuite, le module commence à travailler et l’heure mise à jour apparaît sur le moniteur série toutes les 5 secondes.la sortie est la suivante.
Mh real time clock module 2 arduino library
De nombreux projets Arduino vous demandent de suivre et d’enregistrer le moment de certains événements. Un module d’horloge en temps réel équipé d’une batterie supplémentaire vous permet de stocker la date actuelle sans dépendre de l’alimentation du dispositif lui-même. Cet article traitera des modules RTC les plus courants, DS1307, DS1302, DS3231 qui peuvent être utilisés avec la carte Arduino.
Le module d’horloge est une petite carte contenant généralement une des puces DS1307, DS1302, DS3231. Ces cartes sont souvent utilisées pour suivre l’heure, la date, le jour de la semaine et d’autres paramètres chronométriques. Les modules fonctionnent à partir d’une alimentation autonome – piles, batteries rechargeables, et continuent à compter même si l’Arduino a perdu son alimentation. Les modèles d’horloges les plus courants sont les DS1302, DS1307, DS3231. Ils sont basés sur un module RTC (horloge en temps réel) connecté à l’Arduino.
L’horloge compte dans des unités pratiques pour le commun des mortels – minutes, heures, jours de la semaine, et autres, contrairement aux compteurs et oscillateurs d’horloge conventionnels qui lisent des “tics”. L’Arduino dispose d’une fonction spéciale millis(), qui peut également lire différents intervalles de temps. Mais le principal inconvénient de cette fonction est qu’elle se remet à zéro lorsque le timer est activé. Elle ne lit que l’heure. Vous ne pouvez pas régler la date ou le jour de la semaine. Les modules d’horloge en temps réel sont utilisés pour résoudre ce problème.
Exemple de Ds1302
J’ai un des “MH-REAL-TIME CLOCK MODULES – 2” avec une puce DS1302. J’ai pensé qu’il serait intéressant de voir si je pouvais lire les secondes, les minutes, les heures, l’année, le mois, le jour du mois et le jour de la semaine à partir du module sans utiliser de bibliothèque, c’est-à-dire en codant en dur l’extraction des données, comme exercice d’apprentissage.
J’ai trouvé le document PDF ci-joint qui explique les détails des commandes et des adresses pour lire et écrire dans le module. J’ai utilisé un Nano et j’ai assigné les broches 10, 11 et 12 pour servir respectivement de lignes CLK, DAT et RST qui sont connectées au module RTC.
Vous trouverez ci-joint mon projet d’exemple B4R – en aucun cas optimisé. Je voulais juste voir si je pouvais extraire les données du module. Ainsi, dans le projet B4R, je contrôle la ligne RST (ou CE) et la ligne CLK par le biais d’un simple code B4R et j’envoie les commandes/adresses par le biais de la ligne DAT (I/O) (broche 11 en mode sortie), puis je passe la broche 11 en mode entrée pour lire la réponse du module tout en contrôlant la ligne CLK.
Je suis très satisfait du projet ci-joint. J’ai réussi à faire un projet B4R qui peut écrire (vers) et lire (depuis) la date/heure d’une DS1302 (MH-REAL-TIME CLOCK MODULES – 2) en utilisant uniquement la bibliothèque centrale B4R. Toutes les commandes pour régler/lire la date et l’heure sont codées en dur selon ma compréhension de la fiche technique de la DS1302 (voir PDF dans le post #1 ci-dessus). Il y a un module principal et un module de code – ce dernier fait tout le travail difficile.