Différences entre versions de « ADF-RTC-DS1307 »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(13 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
{{ADF-RTC-DS1307-NAV}}
 
{{ADF-RTC-DS1307-NAV}}
  
{{traduction}}
+
== Qu'est ce qu'une RTC ==
  
== Qu'est ce qu'un RTC ==
+
{{bloc-etroit
A real time clock is basically just like a watch - it runs on a battery and keeps time for you even when there is a power outage! Using an RTC, you can keep track of long timelines, even if you reprogram your microcontroller or disconnect it from USB or a power plug.
+
  |text=Une horloge temps réel est fondamentalement identique à une montre - elle fonctionne sur une pile et reste à l'heure même en cas de coupure de tension! Utiliser un RTC ("''Real Time Clock''" signifiant littéralement "Horloge temps réel") permet de préserver l'heure sur de très-très-très longues périodes, même si vous reprogrammer votre microcontrôleur, déconnectez la prise USB ou retirez la fiche d'alimentation.
  
Most microcontrollers, including the Arduino have a built-in timekeeper called '''millis()''' and theres also timers built into the chip that can keep track of longer time periods like minutes or days. So why would you want to have a seperate RTC chip? Well, the biggest reason is that '''millis()''' only keeps track of time since the Arduino was last powered - that means that when the power is turned on, the millisecond timer is set back to 0. The Arduino doesnt know its 'Tuesday' or 'March 8th' all it can tell is 'Its been 14,000 milliseconds since I was last turned on'.
+
La plupart des micro-contrôleurs, y compris Arduino, inclus un chronomètre interne appelé '''millis()''' et il y a également des minuteries dans le circuit intégré qui permettent de suivre de plus longues périodes de temps comme des minutes ou des jours.  
  
OK so what if you wanted to set the time on the Arduino? You'd have to program in the date and time and you could have it count from that point on. But if it lost power, you'd have to reset the time. Much like very cheap alarm clocks: every time they lose power they blink 12:00
+
'''Mais pourquoi donc avoir besoin d'un circuit RTC en plus?''' }}
  
While this sort of basic timekeeping is OK for some projects, some projects such as data-loggers, clocks, etc will need to have '''consistant timekeeping that doesnt reset when the Arduino battery dies or is reprogrammed'''. Thus, we include a seperate RTC! The RTC chip is a specialized chip that just keeps track of time. It can count leap-years and knows how many days are in a month, but it doesn't take care of Daylight Savings Time (because it changes from place to place)
+
Et bien, la raison la plus importante est que '''millis()''' ne "chronomètre" le temps que depuis le dernier démarrage d'Arduino - cela signifie que lorsque l'alimentation est enclenché, la minuterie des millisecondes recommence à 0. Un Arduino ne sait pas qu'il est 'jeudi' ou 'le 8 mars' et tout ce qu'il peut dire c'est que 'il y a 14.000 millisecondes que j'ai été mis sous tension'.
  
[[Fichier:ADF-RTC-DS1307-INTRO1.jpg]]
+
'''Que faire si vous voulez initialiser l'heure sur un Arduino?'''
''This image shows a computer motherboard with a Real Time Clock called the DS1387. Theres a lithium battery in there which is why its so big.''
 
  
The RTC we'll be using is the DS1307. It's low cost, easy to solder, and can run for years on a very small coin cell.
+
Vous avez besoin de programmer/initialiser la date et l'heure actuelle et vous pouvez alors compter sur le fait que le temps continue à progresser normalement depuis ce point du temps. Mais s'il y a une perte de tension, vous devrez redéfinir/reprogrammer la date et l'heure. C'est un peut comme avec les alarmes bon marchés: à chaque fois qu'il y a une coupure de tension, l'alarme/horloge clignote stupidement sur le chiffre 12:00
  
[[Fichier:ADF-RTC-DS1307-INTRO-ds1307.jpg]]
+
Si cette façon élémentaire de maintenir le temps convient à quelques projets, d'autres projets comme un "data logger", horloge, etc aurons besoin de '''préserver l'heure et l'écoulement du temps de façon cohérente même lorsque la pile de votre Arduino rends l'âme ou que vous ayez besoin de reprogrammer votre microcontrôleur'''. Pour y arriver, il faut utiliser un module RTC!
  
As long as it has a coin cell to run it, the DS1307 will merrily tick along for a long time, even when the Arduino loses power, or is reprogrammed.
+
Le composant RTC est une puce spécialisée qui ne fait que suivre l'écoule du temps. Il sait compter les années bissextiles et sait combien il y a de jours dans un mois, mais ne se préoccupe pas des horaires été/hiver (parce que cette règle change d'un endroit à l'autre)
  
{{ambox|text=You MUST have a coin cell installed for the RTC to work, if there is no coin cell, it will act strangly and possibly hang the Arduino so ALWAYS make SURE there's a battery installed, even if its a dead battery.}}
+
{{ADFImage|ADF-RTC-DS1307-INTRO1.jpg}}
  
== Fichiers ==
+
''Cette image présente la carte d'un ordinateur avec un module ''Real Time Clock'' (horloge temps réel) appelé DS1387. S'il est si gros, c'est parce qu'il contient une pile au lithium.''
  
[http://github.com/adafruit/DS1307-breakout-board Schematic and layout files can be found at GitHub - click Download Source to get the zip!]
+
== DS1307 ou PCF8523 ==
 +
{{ambox|text=Vous <strong>DEVEZ</strong> avoir une pile bouton en place pour que le module RTC fonctionne. S'il n'y a pas de pile, il fonctionnera de façon bizarre et pourrait même planter votre Arduino. Assurez vous donc de TOUJOURS AVOIR une pile en place, même s'il s'agit d'une pile totalement morte.}}
 +
 
 +
=== Breakout avec RTC DS1307 ===
 +
De nombreux breakout utilisent le circuit [https://www.maximintegrated.com/en/products/digital/real-time-clocks/DS1307.html RTC DS1307] de Maxim Integrated. Il est bon marché, facile à souder, et fonctionne pendant des années avec une petite pile bouton.
 +
 
 +
{{ADFImage|ADF-RTC-DS1307-INTRO-ds1307.jpg}}
 +
 
 +
Aussi longtemps qu'il dispose d'une pile pour le faire fonctionner, le DS1307 fera tic-tac bravement pendant très-très longtemps, même si votre Arduino perd son alimentation ou est reprogrammé.
 +
 
 +
=== Breakout avec RTC PCF8523 ===
 +
Les cartes plus récentes (comme le datalog shield ci-dessous) utilisent également le [http://www.nxp.com/products/interface-and-connectivity/interface-and-system-management/i2c-bus-portfolio/i2c-real-time-clocks-rtc/real-time-clock-rtc-and-calendar:PCF8523 PCF8523] de NXP. Ce dernier utilise également un bus I2C (comme la DS1307) mais '''utilise son propre code d'exemple''' !
 +
 
 +
{{ADFImage|ADF-RTC-DS1307-INTRO-PCF8523.png|480px}}
 +
 
 +
== Téléchargements ==
 +
 
 +
[http://github.com/adafruit/DS1307-breakout-board Schéma et fichiers layout pour le breakout DS1307 peuvent être trouvé sur GitHub - cliquer sur "Download Source" et téléchargez l'archive zip!]
  
 
{{ADF-RTC-DS1307-TRAILER}}
 
{{ADF-RTC-DS1307-TRAILER}}

Version actuelle datée du 8 février 2018 à 16:59


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Qu'est ce qu'une RTC

Une horloge temps réel est fondamentalement identique à une montre - elle fonctionne sur une pile et reste à l'heure même en cas de coupure de tension! Utiliser un RTC ("Real Time Clock" signifiant littéralement "Horloge temps réel") permet de préserver l'heure sur de très-très-très longues périodes, même si vous reprogrammer votre microcontrôleur, déconnectez la prise USB ou retirez la fiche d'alimentation.

La plupart des micro-contrôleurs, y compris Arduino, inclus un chronomètre interne appelé millis() et il y a également des minuteries dans le circuit intégré qui permettent de suivre de plus longues périodes de temps comme des minutes ou des jours.

Mais pourquoi donc avoir besoin d'un circuit RTC en plus?

Et bien, la raison la plus importante est que millis() ne "chronomètre" le temps que depuis le dernier démarrage d'Arduino - cela signifie que lorsque l'alimentation est enclenché, la minuterie des millisecondes recommence à 0. Un Arduino ne sait pas qu'il est 'jeudi' ou 'le 8 mars' et tout ce qu'il peut dire c'est que 'il y a 14.000 millisecondes que j'ai été mis sous tension'.

Que faire si vous voulez initialiser l'heure sur un Arduino?

Vous avez besoin de programmer/initialiser la date et l'heure actuelle et vous pouvez alors compter sur le fait que le temps continue à progresser normalement depuis ce point du temps. Mais s'il y a une perte de tension, vous devrez redéfinir/reprogrammer la date et l'heure. C'est un peut comme avec les alarmes bon marchés: à chaque fois qu'il y a une coupure de tension, l'alarme/horloge clignote stupidement sur le chiffre 12:00

Si cette façon élémentaire de maintenir le temps convient à quelques projets, d'autres projets comme un "data logger", horloge, etc aurons besoin de préserver l'heure et l'écoulement du temps de façon cohérente même lorsque la pile de votre Arduino rends l'âme ou que vous ayez besoin de reprogrammer votre microcontrôleur. Pour y arriver, il faut utiliser un module RTC!

Le composant RTC est une puce spécialisée qui ne fait que suivre l'écoule du temps. Il sait compter les années bissextiles et sait combien il y a de jours dans un mois, mais ne se préoccupe pas des horaires été/hiver (parce que cette règle change d'un endroit à l'autre)

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Cette image présente la carte d'un ordinateur avec un module Real Time Clock (horloge temps réel) appelé DS1387. S'il est si gros, c'est parce qu'il contient une pile au lithium.

DS1307 ou PCF8523

Breakout avec RTC DS1307

De nombreux breakout utilisent le circuit RTC DS1307 de Maxim Integrated. Il est bon marché, facile à souder, et fonctionne pendant des années avec une petite pile bouton.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Aussi longtemps qu'il dispose d'une pile pour le faire fonctionner, le DS1307 fera tic-tac bravement pendant très-très longtemps, même si votre Arduino perd son alimentation ou est reprogrammé.

Breakout avec RTC PCF8523

Les cartes plus récentes (comme le datalog shield ci-dessous) utilisent également le PCF8523 de NXP. Ce dernier utilise également un bus I2C (comme la DS1307) mais utilise son propre code d'exemple !

ADF-RTC-DS1307-INTRO-PCF8523.png
Crédit: AdaFruit Industries www.adafruit.com

Téléchargements

Schéma et fichiers layout pour le breakout DS1307 peuvent être trouvé sur GitHub - cliquer sur "Download Source" et téléchargez l'archive zip!


Source: DS1307 Real Time Clock Breakout Board Kit. Ecrit par Tyler Cooper pour AdaFruit. Crédit AdaFruit Industries

Traduit par Meurisse D. pour MCHobby.be

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.