Une Horloge Pour Votre Arduino (Real Time Clock)
Maybe your like
Pages d'index
- Accueil
- Électronique
- Arduino
- Raspberry Pi
- ESP8266 / ESP32
- STM32
- Autres microcontrôleurs
- Moteurs et robotique
- Son et Musique
- Logiciels
- Expériences scientifiques
- À propos...
mercredi 19 juin 2013
Une horloge pour votre Arduino (Real Time Clock)
Un module RTC est muni d'une petite pile qui peut durer plusieurs années (sauf le modèle que j'ai reçu, qui était muni d'une pile rechargeable LIR2032 à la place d'une CR2032: ces piles perdent leur charge en 1 mois environ...). Et leur utilisation est d'une incroyable simplicité. 4 fils suffisent pour brancher le module RTC à l'Arduino: "Sda" : Arduino A4 (analog in) "Scl": Arduino A5 (analog in) "Gnd": Arduino GND "Vcc": Arduino 5V ou 3V3 La librairie RTClib simplifie énormément la conception des sketches. La version la plus récente sur trouve ici (utilisez le bouton "ZIP" pour télécharger la totalité du dossier, que vous installez ensuite dans le répertoire "Librairies" de l'IDE Arduino). Une fois la librairie installée, ouvrez simplement l'exemple "ds1307" (menu Fichier/Exemples/rtclib/ds1307) et installez-le dans l'Arduino; ouvrez le moniteur série et réglez sa fréquence à 57600 bauds: vous verrez alors défiler la date et l'heure (suivies de quelques informations moins utiles). Un coup d'oeil sur le sketch vous indiquera comment récupérer les informations voulues (jour, mois, année, etc.). Si vous constatez que la date et l'heure retournées par votre module RTC sont incorrecte, exécutez à nouveau l'exemple "ds1307" après avoir "décommenté" la ligne "RTC.adjust(DateTime(__DATE__, __TIME__));": le ds1307 se réinitialisera en utilisant l'heure de votre ordinateur. Voici finalement un sketch permettant de construire une horloge avec un Arduino, un module RTC et un afficheur LCD. Pour la façon de brancher l'afficheur LCD à l'Arduino, je vous réfère à cette précédente rubrique. À lire également: une autre horloge à base d'Arduino, sauf que celle-ci affiche l'heure au moyen de deux galvanomètre à cadre mobile. Il existe aussi un billet concernant le modèle DS3231. Yves Pelletier (Twitter: @ElectroAmateur) Libellés : Afficheur, Arduino 39 commentaires:
Anonyme28 janvier 2014 à 05:15Merci votre programme nous a permis d'avancer dans notre projet.
RépondreSupprimerRéponses- Répondre
Anonyme19 juin 2014 à 12:45Thanks for this, just used this with a Nano. Works like a charm.
RépondreSupprimerRéponses- Répondre
Anonyme23 juin 2014 à 16:48merci pour le code bien jouer !!!!
RépondreSupprimerRéponses- Répondre
Anonyme1 juillet 2014 à 16:18parfait, je l'ai adapté au lcd I2C, en revanche pour delay 100 plutôt que 1000, et suppression du lcd.clear, cela me semble plus douxbravo pour ce codeje suis un fervent de l'I2Ccordialement
RépondreSupprimerRéponses- Répondre
Titi5018 octobre 2015 à 07:01eu j'ai un petit probleme lors de la compilation du programme, sa me metcompilation terminated.exit status 1Erreur lors de la compilation.
RépondreSupprimerRéponses
Unknown18 février 2016 à 12:08Il faut valider le port com en USB si tu utilise l'usb et installer les drivers si ce n'est pas fait.
SupprimerRéponses- Répondre
Répondre
Unknown18 février 2016 à 12:04Le programme ne fonctionne pas, l'heure reste figée.Les secondes ne défilent pas.La date est bien affichéeEnlever la pile n'y change rien et le reset de la carte UNO ne fait rien également.En ce qui concerne "ds1307" après avoir "décommenté" la ligne "RTC.adjust(DateTime(__DATE__, __TIME__));Windows interdit de modifier le fichier, GNU linux également.La procédure dest attibuts de fichiers dans la base de registes est complexe et incompréhensible.Arduino uno LCD 20x4 relié en 4 bit via afficheur et I2C via le DS1307 Remettre la ligne RTC.adjust(DateTime(__DATE__, __TIME__)); dans le programme principal met effectivement a l'heure mais elle reste figée, et affiche dans la console la même chose dans la console "heure" et "date" en boucle.
RépondreSupprimerRéponses
Yves Pelletier18 février 2016 à 12:08Windows et Linux vous interdit de modifier le fichier d'un sketch Arduino?
SupprimerRéponses- Répondre
Yves Pelletier18 février 2016 à 12:11Ha, je comprend: vous avez essayé de modifier directement le fichier d'exemple plutôt qu'en modifier une copie.
SupprimerRéponses- Répondre
Unknown19 février 2016 à 12:06Rebonjour!Oui, modifier directement le fichier est plus simple, et donc impossible, créer une copie pose des problèmes quand on appelle des bibliothèques du style : " #include " car il le logiciel ne retrouve pas les "librairies" quand elle sont crées et il y a une procédure qui n'est pas claire ou pas bien expliquée et en plus en anglais avec le point h et le .ino.On devrait pouvoir modifier les programmes ou les librairies de manière simple et rapide.
SupprimerRéponses- Répondre
Unknown19 février 2016 à 12:15Windows me dit: vous le pouvez pas modifier le fichier DS1307, il demande de faire une copie dans un autre emplacement, et quand on copie dans un autre emplacement, le programme principal ne fonctionne plus. Le clic droit avec la souris option propriétés sur le dossier ou le raccourci Arduino, ne résoud pas le problème des fichiers en lecture seule, le dossier se remet en lecture seule, quoi q'il arrive de manière automatique, donc l'utilisation des librairies est difficile, puisque l'on ne peut pas facilement en modifier le contenu directement sans trop réfléchir avec des grosses notions d'informatique pour la bidouille des fichiers.
SupprimerRéponses- Répondre
Yves Pelletier19 février 2016 à 12:16À moins que l'IDE (ou la bibliothèque) ait été mal installé, il n'y a aucune raison que la bibliothèque ne soit pas trouvée suite à la copie d'un fichier d'exemple.
SupprimerRéponses- Répondre
Anonyme2 mars 2016 à 10:19J'ai pu constater plusieurs fois des problemes de ce genre. Il ne faut pas copier le fichier exemple, mais avec l'exemple ouvert faire un copier/coller du texte dans un nouveau fichier... et la, pour moi cela fonctionne!
SupprimerRéponses- Répondre
Répondre
filtre à café23 février 2016 à 09:41Bonjour.Merci pour ce petit tuto. J'ai pu mettre en route une horloge à base d'Arduino nano rapidement. Ma seule difficulté a été de trouver sur quelles broches du nano brancher le module RTC. Certains schémas sur le Net indiquent les broches D4 et D5 pour SDA et SCL.J'ai vu que sur le module que je possède et qui le même que le votre, il y a de la mémoire EEPROM intégrée. Connaissez vous un tuto pour son utilisation ? Merci d'avance.
RépondreSupprimerRéponses
Unknown23 février 2016 à 13:20Ce n'est pas en français mais il faut suivre à l'écran c'est très instructif "adress"https://www.youtube.com/watch?v=tNcL4zSCl-Q
SupprimerRéponses- Répondre
Répondre
Unknown23 février 2016 à 13:15Re Bonjour !Maintenant que le programme est compilé, j'ai 2 possibilités :soit j'ai ligne 1 de l'afficheur : 0:00:00et ligne 2 : 1 janvier 2000Si j'enlève la pile du module RTC : ligne 1 de l'afficheur 165:165:165Ligne 2 165 2165Résultats incompréhensibles à la réalisation d'une horloge qui ne fonctionne pas que ce soit avec 4 bit ou en I2C pcf8574 !!Help please.
RépondreSupprimerRéponses- Répondre
massi28 février 2016 à 16:44bonjour j'ai eu un problème lors de la compilation exit status 1Erreur lors de la compilation.merci
RépondreSupprimerRéponses- Répondre
massi29 février 2016 à 09:46salut, j'ai compiler le programme et voici le résultat Le croquis utilise 5 594 octets (17%) de l'espace de stockage de programmes. Le maximum est de 32 256 octets.Les variables globales utilisent 450 octets (21%) de mémoire Le maximum est de 2 048 octets.
RépondreSupprimerRéponses
Anonyme11 janvier 2020 à 14:16cela veut dire que c'est réussi
SupprimerRéponses- Répondre
Répondre
Unknown18 mars 2016 à 13:56Bonjour,j'ai utilisé cet exemple pour monter mon projet.jusque là pas de soucis puisque j'étais branché en usb sur mon PC.En revanche je n'arrive pas à mémoriser l'heure, je m'explique :tant que je suis branché en USB l'heure de mon programme est à l'heure du PC (après téléversement du programme).si je débranche et que je rebranche quelques minutes plus tard, le programme reprends à l'heure ou l'alimentation a été coupée.J'ai d'abord pensé à ma pile qui était HS et l'ai donc changé mais... rien n'y fait.Je ne comprends pas ou ça cloche. Faut il décommenter une certaine partie du programme ?Merci si quelqu'un a la réponse.
RépondreSupprimerRéponses
Yves Pelletier18 mars 2016 à 15:37Il y a une pile valide insérée dans le module RTC?
SupprimerRéponses- Répondre
Unknown19 mars 2016 à 04:15Oui, une CR2023 3V.J'ai essayé une autre méthode qui utilise uniquement la lib "Wire.h" et l'heure reste bien mémorisée après une coupure d'alimentation de l'arduino. Du coup ça vient de mon code. J'aimerai garder la méthode ci-dessus et utiliser la lib "RTClib.h" ce qui évitera de remodeler mon programme déjà bien avancé..Je vais continuer à creuser côté prog' maintenant que je sais que ce n'est pas la pile.
SupprimerRéponses- Répondre
Répondre
Anonyme19 mars 2016 à 08:31bonjoursi le programme ne fonctionne pas ça peut être du aune petite erreur #include et il faut écrire #include "RTClib.h"
RépondreSupprimerRéponses
Unknown20 mars 2016 à 07:29Pour une raison que j'ignore j'ai réussis à mémoriser l'heure après une coupure de l'alimentation avec l'exemple de cette page et avec une manipulation que j'avais déjà testée.. à savoir :renseigner l'heure au module RTC en téléversant le programme avec la ligne de code :"RTC.adjust(DateTime(__DATE__, __TIME__));"puis en téléversant à nouveau le programme en mettant cette ligne de code en commentaire...Merci à ceux qui ont répondu à ma question même si j'avais déjà la réponse..
SupprimerRéponses- Répondre
Anonyme21 mars 2016 à 09:02Le programme est bon, mais dans le microcontrôleur ça ne m'affiche pas du tout la bonne date, ni la bonne heure. J'ai beau supprimer "RTC.adjust(DateTime(__DATE__, __TIME__));" ou la mettre en commentaire, ça ne marche pas. Puis soit rien ne s'affiche sur l'afficheur ou alors seulement des choses incompréhensible...
SupprimerRéponses- Répondre
Répondre
Unknown24 mars 2016 à 05:05Bonjours j'ai un petit soucis car je voudrais afficher l'heure sur un écran LCD avec le module RTC 3231. Du coup j'ai changer la ligne 31 de votre programme par : RTC_DS3231 RTC;Mais lorsque je compile le programme sur mon afficheur j'ai : 165:165:85165 2165Merci d'avance de votre réponse
RépondreSupprimerRéponses
Yves Pelletier13 juin 2016 à 18:39Est-ce qu'on parle de la bibliothèque que j'utilise dans cet article? Les choix possibles sont DS1388, PCF8563et BQ32000.
SupprimerRéponses- Répondre
Répondre
Unknown24 mars 2016 à 05:06Merci
RépondreSupprimerRéponses
Anonyme13 juin 2016 à 10:42Meme quesstion pour unkowcomment on fait car c'est marquer pareil pour moi
SupprimerRéponses- Répondre
Répondre
Anonyme25 mars 2016 à 14:02Bonjour,j'ai trouvé un lien pour mettre à jour l'heure et la date et ça fonctionne.http://www.semageek.com/arduino-un-utilitaire-bien-pratique-pour-mettre-a-lheure-les-modules-rtc/
RépondreSupprimerRéponses- Répondre
Anonyme20 mai 2016 à 03:30Merci beaucoup pour tes explications. elles m'ont grandement aidées.
RépondreSupprimerRéponses- Répondre
Anonyme25 janvier 2017 à 04:53Bonjour, j'ai essayé de lancer le programme exemple mais quand j'ouvre le moniteur série, je ne vois qu'une ligne qui continue du genre :"ò êâÿb‡+]B‡+]B‡+]BO93B†«]R JãÿR JãÿB JãÿÒ êâÿR êãÿW"Qu'est ce qui pourrait faire que ça ne marche pas ? Merci d'avance pour votre réponse.
RépondreSupprimerRéponses
Yves Pelletier25 janvier 2017 à 08:05La vitesse de transmission a-t-elle été changée pour 57600 bauds dans le moniteur série?
SupprimerRéponses- Répondre
Répondre
Anonyme28 mars 2018 à 04:37Bonjour, merci pour ce tuto bien fait, il semble que la DS1307 et surtout le type de quartz utilisé rende jusqu'à 10mn par jour de retard sans coupure de l'alimentation, pouvez-vous confirmer et donner une solution à ce problème si il y en a une ? La DS3231 est-elle aussi concernée ? Merci.
RépondreSupprimerRéponses- Répondre
Bergart.Eric23 décembre 2019 à 23:11L'explication de Flavien Cardon est impecable : il faut compiler avec la mise a l'heure ( la fameuse ligne : "RTC.adjust(DateTime(__DATE__, __TIME__));")Puis la mettre en commentaire avec les signes : //Merci beaucoup car j'ai galérer pour trouver et tu m'a eclairé !!! [email protected]
RépondreSupprimerRéponses- Répondre
Anonyme11 janvier 2020 à 14:17Bonjour,pourriez vous faire un code qui fonctionne avec un afficheur 4digit 7segements s'il vous plait?
RépondreSupprimerRéponses- Répondre
Ahmed10 septembre 2020 à 07:18Bonjour, juste une petite suggestion d'allègement du code. On peut retirer le switch case et le remplacer par quelque chose de ce style:String mois[12]= {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"};lcd.print(mois[now.month()-1]);
RépondreSupprimerRéponses
Yves Pelletier10 septembre 2020 à 13:29Ha oui, c'est beaucoup plus élégant de cette façon!
SupprimerRéponses- Répondre
Répondre
Anonyme12 janvier 2023 à 10:30Bonjour j'ai une erreur de complilation je ne comprends pas d'où cela provient, pouvez vous m'aider svp ?voici l'erreur :Arduino : 1.8.13 (Windows 7), Carte : "Arduino Nano, ATmega328P"In file included from D:\Arduino Mes Prog\Horloge_RTC_DS1307_plus_afficheur_LCD\Horloge_RTC_DS1307_plus_afficheur_LCD.ino:28:0:D:\Arduino Mes Prog\libraries\RTClib-master\src/RTClib.h:25:10: fatal error: Adafruit_I2CDevice.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~~~~~compilation terminated.exit status 1Erreur de compilation pour la carte Arduino NanoImpossible de trouver boards.txt dans C:\Users\Gerard\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6. Version pre-1.5 ?Ce rapport pourrait être plus détaillé avecl'option "Afficher les résultats détaillés de la compilation"activée dans Fichier -> Préférences.
RépondreSupprimerRéponses- Répondre
Rechercher dans ce blog
Archives du blog
- ► 2025 (5)
- ► septembre (1)
- ► août (2)
- ► juillet (2)
- ► 2023 (9)
- ► septembre (2)
- ► août (2)
- ► juillet (4)
- ► février (1)
- ► 2022 (21)
- ► octobre (1)
- ► août (5)
- ► juillet (5)
- ► juin (3)
- ► mars (2)
- ► février (3)
- ► janvier (2)
- ► 2021 (50)
- ► décembre (1)
- ► octobre (1)
- ► août (4)
- ► juillet (2)
- ► juin (5)
- ► mai (9)
- ► avril (8)
- ► mars (6)
- ► février (7)
- ► janvier (7)
- ► 2020 (61)
- ► décembre (5)
- ► novembre (3)
- ► octobre (5)
- ► septembre (4)
- ► août (2)
- ► juillet (6)
- ► juin (8)
- ► mai (8)
- ► avril (5)
- ► mars (4)
- ► février (5)
- ► janvier (6)
- ► 2019 (77)
- ► décembre (5)
- ► novembre (8)
- ► octobre (4)
- ► septembre (7)
- ► août (8)
- ► juillet (7)
- ► juin (6)
- ► mai (3)
- ► avril (4)
- ► mars (9)
- ► février (7)
- ► janvier (9)
- ► 2018 (42)
- ► décembre (7)
- ► novembre (4)
- ► octobre (6)
- ► septembre (4)
- ► août (3)
- ► juillet (3)
- ► juin (5)
- ► mai (1)
- ► avril (1)
- ► mars (3)
- ► février (3)
- ► janvier (2)
- ► 2017 (74)
- ► décembre (6)
- ► novembre (7)
- ► octobre (8)
- ► septembre (6)
- ► août (5)
- ► juillet (4)
- ► juin (5)
- ► mai (6)
- ► avril (7)
- ► mars (4)
- ► février (7)
- ► janvier (9)
- ► 2016 (34)
- ► décembre (3)
- ► novembre (1)
- ► octobre (5)
- ► septembre (2)
- ► août (2)
- ► juillet (1)
- ► juin (5)
- ► mai (1)
- ► avril (2)
- ► mars (4)
- ► février (3)
- ► janvier (5)
- ► 2015 (58)
- ► décembre (4)
- ► novembre (4)
- ► octobre (7)
- ► septembre (4)
- ► août (5)
- ► juillet (5)
- ► juin (5)
- ► mai (4)
- ► avril (4)
- ► mars (4)
- ► février (3)
- ► janvier (9)
- ► 2014 (57)
- ► décembre (4)
- ► novembre (6)
- ► octobre (6)
- ► septembre (6)
- ► août (3)
- ► juillet (5)
- ► juin (2)
- ► mai (6)
- ► avril (4)
- ► mars (7)
- ► février (2)
- ► janvier (6)
- ► 2012 (52)
- ► décembre (4)
- ► novembre (3)
- ► octobre (1)
- ► septembre (3)
- ► août (8)
- ► juillet (8)
- ► juin (3)
- ► mai (3)
- ► avril (3)
- ► mars (6)
- ► février (2)
- ► janvier (8)
- ► 2011 (26)
- ► décembre (3)
- ► octobre (3)
- ► septembre (4)
- ► août (1)
- ► juillet (3)
- ► juin (3)
- ► mai (4)
- ► avril (1)
- ► mars (1)
- ► février (3)
- ► 2010 (6)
- ► décembre (1)
- ► octobre (2)
- ► septembre (1)
- ► août (2)
Pages d'index
- Accueil
- Électronique
- Arduino
- Raspberry Pi
- ESP8266 / ESP32
- STM32
- Autres microcontrôleurs
- Moteurs et robotique
- Son et Musique
- Expériences scientifiques
- Logiciels
- À propos...
Articles les plus consultés
-
Utilisation d'un écran tactile TFT SPI 240 X 320 (ILI9341) avec un ESP32 Dans ce tuto, nous branchons à un ESP32 un écran tactile SPI 240 X 320 comportant le contrôleur ILI9341. L'ESP32 sera programmé au moye...
-
ESP32: Utilisation des entrées analogiques La mesure d'une tension analogique a toujours été un point faible de l'ESP8266: le premier module (ESP-01) ne donnait accès à aucu...
-
Fabriquons notre propre pont en H Jusqu'à maintenant, dans chaque projet impliquant le contrôle d'un ou deux moteurs DC par un microcontrôleur, j'ai utilisé un ci...
-
Fabrication d'un anémomètre (Arduino) Un anémomètre est un appareil qui permet de mesurer la vitesse du vent. C'est très facile de construire un anémomètre à coupelle, et d...
-
Explorons les portes logiques Lorsqu'on a l'habitude d'utiliser des microcontrôleurs, on a trop facilement tendance à snober les portes logiques. Il est tell... -
ESP32: production d'un signal analogique L'ESP32 comporte deux convertisseurs numérique / analogique (DAC) à 8 bits, ce qui permet de produire un véritable signal analogique, c...
-
Écran OLED SH1106 I2C et Arduino Je me suis récemment procuré un petit écran OLED de 128 X 64 pixels et. bien entendu, je me suis empressé de le faire fonctionner en le bra...
-
Communication RF 433 MHz avec RadioHead (Arduino, ESP32, ESP8266) Dans cet article, nous établissons une communication radio à une fréquence de 433 MHz entre cartes Arduino , ESP8266 et ESP32. Il peut s...
-
Programmation d'une carte STM32 avec l'IDE Arduino Maintenant que le " STM32Duino Core " de Roger Clarke a été remplacé par " l'official STM32 Core " mis au point par ...
-
Programmer l'ESP32 avec l'IDE Arduino (premiers pas) Puisque je me suis beaucoup amusé avec l'ESP8266 au cours des derniers mois, il était inévitable que je fasse un jour ou l'autre la ...
Article récent
Mini-Piano Arduino
Dans cet article, je présente la réalisation d'un mini-clavier musical réalisé au moyen d'un Arduino Uno, d'un shield TFT (écran...
Abonnement flux RSS
Libellés
- Afficheur (60)
- App Inventor (5)
- Arduiino (1)
- Arduino (223)
- Arduino; (2)
- ATTiny (8)
- Blogs (22)
- Capteur (94)
- Circuit sans microcontrôleur (69)
- Communication (47)
- ESP32 (52)
- ESP8266 (43)
- Étude de CI (25)
- Instruments (18)
- Kit (6)
- Livre (34)
- Logiciels (28)
- Micro:Bit (7)
- MSP430 (31)
- PIC (19)
- Pico (35)
- Raspberry Pi (61)
- Réparation (6)
- Robotique (69)
- Science (57)
- Son et musique (73)
- STM32 (42)
- Trouver des composants (16)
Nombre total de pages vues
Tag » Arduino Horloge Lcd I2c
-
Affichage LCD Horloge DS1307 - Français - Arduino Forum
-
Probleme D'afficheur LCD I2C Avec Horloge RTC - Arduino Forum
-
Stabiliser L'afffichage D'un écran LCD I2c - Français - Arduino Forum
-
[GUIDE] Arduino Piloter Un Afficheur LCD 16x2 I2C
-
Module Horloge DS1302 / DS1307 Arduino (RTC)
-
Arduino - L'horloge En Temps Réel - Editions ENI
-
L'horloge Temps Réel DS1307 | Arduino-passion
-
Gérer Un écran LCD Par La Connexion I2C D'une Arduino - AranaCorp
-
Comment Utiliser LCD 1602 I2C Ou LCD2004 Avec Arduino - YouTube
-
1-48 Sur 424 Résultats Pour "I2c Lcd Arduino" - Amazon
-
Aihasd 2PCS 1602 écran LCD Bleu IIC/i2C Module D'horloge En ...
-
Comment Ajouter Et Test, L'écran LCD Pour Votre Projet Arduino ...
-
I2c Arduino Display - Achat En Ligne | Aliexpress
Anonyme
Titi50