Modifications

Sauter à la navigation Sauter à la recherche
999 octets ajoutés ,  8 février 2018 à 19:14
Ligne 2 : Ligne 2 :     
== Librairie Arduino ==
 
== Librairie Arduino ==
N'importe quel microcontroleur 5V supportant I2C peut facilement utiliser le DS1307. Cette page montrera comment l'utiliser avec un Arduino puisqu'il s'agit d'un microcontroleur vraiment très populaire.
+
La RTC est un périphérique I2C, ce qui signifie qu'il ne faut que 2 fils pour communiquer avec la RTC. Ces deux fils sont utilisés pour fixer l'heure ou l'extraire de la RTC. Sur un Arduino UNO, les broches I2C sont également raccordées sur les broches analogiques analogique A4 et A5.
   −
Pour la librairie RTC, AdaFruit à utilisé un dérivé (fork) de l'excellente librairie RTC produit par JeeLab - [http://github.com/adafruit/RTClib téléchargement de RTClib ici].
+
N'importe quel microcontrôleur 5V supportant I2C peut facilement utiliser la RTC '''DS1307''' ou RTC '''PCF8523'''. Cette page montrera comment utiliser ces RTC avec Arduino (l'un des microcontrôleur très populaire).
   −
[http://github.com/adafruit/RTClib RTCLib] est une librairie permettant de lire l'heure du DS1307 mais aussi de la modifier :-) . Cette librairie initialement écrite par JeeLab à été modifiée par AdaFruit pour répondre à ses besoin... il est donc préférable d'utiliser la librairie proposée ci-dessus pour assurer une totale compatibilité.
+
Pour la librairie RTC, AdaFruit à utilisé un dérivé (fork) de l'excellente librairie RTC produit par JeeLab - [https://github.com/adafruit/RTClib téléchargement également disponible sur GitHub].
   −
Télécharger l'archive Zip en cliquant sur le lient Download Source (en haut à droite) et renommer le répertoire décompressé "RTClib" pour ensuite [[[[Installation d'un librairie Arduino|l'installer dans le répertoire des librairie Arduino ]] (dans un répertoire nommé RTCLib).
+
{{download-box|Téléchargez La bibliothèque RTC|https://github.com/adafruit/RTClib/archive/master.zip}}
 +
 
 +
[http://github.com/adafruit/RTClib RTCLib] est une librairie permettant de lire l'heure du '''DS1307''' ou '''PCF8523''' mais aussi de la modifier :-) .
 +
 
 +
Télécharger l'archive Zip en cliquant sur le lient Download Source (en haut à droite) et renommer le répertoire décompressé "RTClib" pour ensuite [[Installation d'un librairie Arduino|l'installer dans le répertoire des librairie Arduino ]] (dans un répertoire nommé {{fname|repertoire_des_croquis_arduino/libraries/RTCLib/}} ).
 +
 
 +
Vérifiez que le répertoire RTClib contient les fichiers RTClib.cpp et RTClib.h
    
== Branchement ==
 
== Branchement ==
Il y a seulement 5 broches/pins à raccorder: 5V GND SCL SDA SQW.
+
Que vous utilisez une horloge DS1307 ou PCF8523 les raccordements sont identiques.
 +
 
 +
Il y a seulement 5 broches/pins à raccorder: 5V, GND, SCL, SDA, SQW.
    
* '''5V''' est utilisé pour alimenter le circuit intégré du RTC quand vous avez besoin de dialoguer avec lui (par exemple: pour demander l'heure). S'il n'y a pas d'alimentation 5V alors le C.I. passe en mode veille et utilise la pile bouton comme alimentation de secour.
 
* '''5V''' est utilisé pour alimenter le circuit intégré du RTC quand vous avez besoin de dialoguer avec lui (par exemple: pour demander l'heure). S'il n'y a pas d'alimentation 5V alors le C.I. passe en mode veille et utilise la pile bouton comme alimentation de secour.
Ligne 17 : Ligne 25 :  
* '''SCL''' est le signal d'horloge (clock) du bus I2C - il est nécessaire pour dialoguer avec le RTC.
 
* '''SCL''' est le signal d'horloge (clock) du bus I2C - il est nécessaire pour dialoguer avec le RTC.
 
* '''SDA''' est le signal de donnée (data) du bis I2C - il est également nécessaire pour dialoguer avec le RTC
 
* '''SDA''' est le signal de donnée (data) du bis I2C - il est également nécessaire pour dialoguer avec le RTC
 +
 +
Sur une RTC DS1307:
 
* '''SQW''' est une broche optionnel. Sortie d'une onde carrée (square-wave output) que vous pouvez obtenir du module RTC si vous l'avez configuré pour qu'il le produise. La plupart des utilisateur n'ont pas besoin de cette broche et ne l'utilise pas.
 
* '''SQW''' est une broche optionnel. Sortie d'une onde carrée (square-wave output) que vous pouvez obtenir du module RTC si vous l'avez configuré pour qu'il le produise. La plupart des utilisateur n'ont pas besoin de cette broche et ne l'utilise pas.
   −
{{ADFImage|ADF-RTC-DS1307-USE-01.jpg}à
+
{{ADFImage|ADF-RTC-DS1307-USE-01.jpg}}
    
Truc et astuce:
 
Truc et astuce:
Ligne 36 : Ligne 46 :  
Donc, pour commencer, retirez la pile du son emplacement pendant qu'Arduino n'est pas alimenté (ou raccordé via USB). Attendez 3 secondes et ensuite, replacez la pile. Cela fait une remise-à-zéro (reset) du circuit RTC.  
 
Donc, pour commencer, retirez la pile du son emplacement pendant qu'Arduino n'est pas alimenté (ou raccordé via USB). Attendez 3 secondes et ensuite, replacez la pile. Cela fait une remise-à-zéro (reset) du circuit RTC.  
   −
Maintenant ouvrez le sketch suivant sur votre Arduino (il est disponible dans Examples->RTClib->ds1307) et téléchargez le sur votre Arduino avec breakout DS1307 branché OU votre shield Datalogger raccordé.
+
Maintenant ouvrez le sketch suivant sur votre Arduino.
 +
 
 +
L'exemple à charger dépend de l'horloge RTC présent sur la carte:
 +
* Horloge à base de DS1307: '''Examples -> RTClib -> ds1307'''
 +
* Horloge à base de PCF8523: '''Examples -> RTClib -> pcf8523'''
 +
 
 +
{{ADFImage|ADF-RTC-DS1307-UTILISER-10.png}}
 +
 
 +
Puis compilez et téléchargez le sur votre Arduino avec breakout RTC branché OU votre shield Datalogger raccordé.
 +
 
 +
{{ambox|text=Vérifiez le nom du composant RTC Si vous avez un problème pour faire fonctionner l'exemple! Les puces RTC PCF8523 et DS1307 RTC ne sont pas identiques et ont des exemples séparés! }}
   −
<nowiki>// fonctions Date et heure en utilisant  
+
<syntaxhighlight lang="C">
 +
// fonctions Date et heure en utilisant  
 
// le RTC DS1307 RTC via bus I2C et librairie Wire
 
// le RTC DS1307 RTC via bus I2C et librairie Wire
   Ligne 44 : Ligne 65 :  
#include "RTClib.h"
 
#include "RTClib.h"
    +
# Utiliser la classe RTC_DS1307 ou RTC_PCF8523 en
 +
# fonction du module RTC utilisé
 
RTC_DS1307 RTC;
 
RTC_DS1307 RTC;
   Ligne 102 : Ligne 125 :  
     delay(3000);
 
     delay(3000);
 
}
 
}
</nowiki>
+
</syntaxhighlight>
    
Démarrer le moniteur série et assurez vous qu'il soit bien configuré sur un débit de 57600 bauds.
 
Démarrer le moniteur série et assurez vous qu'il soit bien configuré sur un débit de 57600 bauds.
29 836

modifications

Menu de navigation