Arduino Forum

International => Français => Topic started by: V20100D on Sep 17, 2014, 03:00 am

Title: Problème avec Tiny RTC
Post by: V20100D on Sep 17, 2014, 03:00 am
Bonjour les Arduiniens,

J'ai récemment acheté un TinyRTC afin de pouvoir afficher l'heure actuel lors de la prise de donné. J'ai voulu l'essayer avec un programme simple, mais rien ne fonctionne.

J'ai acheté un TinyRTC I2C DS1307:
http://www.amazon.ca/DS1307-Real-Time-Clock-Module/dp/B00CWX6UXY/ref=sr_1_1?ie=UTF8&qid=1410915408&sr=8-1&keywords=tiny+rtc

J'ai trouvé un code sur internet, mais le résultat est toujours le même : 165/165/165 45:165:165 dans le moniteur de série

Voici le code:
Code: [Select]
//Arduino 1.0+ Only
//Arduino 1.0+ Only

#include "Wire.h"
#define DS1307_ADDRESS 0x68

void setup(){
  Wire.begin();
  Serial.begin(9600);
}

void loop(){
  printDate();
  delay(1000);
}

byte bcdToDec(byte val)  {
// Convert binary coded decimal to normal decimal numbers
  return ( (val/16*10) + (val%16) );
}

void printDate(){

  // Reset the register pointer
  Wire.beginTransmission(DS1307_ADDRESS);

  byte zero = 0x00;
  Wire.write(zero);
  Wire.endTransmission();

  Wire.requestFrom(DS1307_ADDRESS, 7);

  int second = bcdToDec(Wire.read());
  int minute = bcdToDec(Wire.read());
  int hour = bcdToDec(Wire.read() & 0b111111); //24 hour time
  int weekDay = bcdToDec(Wire.read()); //0-6 -> sunday - Saturday
  int monthDay = bcdToDec(Wire.read());
  int month = bcdToDec(Wire.read());
  int year = bcdToDec(Wire.read());

  //print the date EG   3/1/11 23:59:59
  Serial.print(month);
  Serial.print("/");
  Serial.print(monthDay);
  Serial.print("/");
  Serial.print(year);
  Serial.print(" ");
  Serial.print(hour);
  Serial.print(":");
  Serial.print(minute);
  Serial.print(":");
  Serial.println(second);

}


Est-ce que quelqu'un pourrait m'aider à faire fonctionner le RTC. Le SCL est connecté à A5 et SDA à A4.

Merci beaucoup,
Title: Re: Problème avec Tiny RTC
Post by: patg_ on Sep 17, 2014, 08:53 am
Bonjour,
Avec un DS1307 la RTCLib est plus simple à utiliser:
https://github.com/adafruit/RTClib

Je l'utilise avec un DS1307 et un DS3234.
Title: Re: Problème avec Tiny RTC
Post by: 68tjs on Sep 17, 2014, 09:02 am
Vérification de base : s'il y a une pile de sauvegarde est-elle bonne ?

Cette bête là peut fonctionner sans pile de sauvegarde mais déteste avoir une pile épuisée.
Title: Re: Problème avec Tiny RTC
Post by: fdufnews on Sep 17, 2014, 09:09 am
Est-ce que la RTC a été mise à l'heure au moins une fois?
Title: Re: Problème avec Tiny RTC
Post by: bricoleau on Sep 17, 2014, 10:04 am
Petite recherche google "ds1307 165/165/165"

Vu en diagonale : pb de voltage d'alim du DS1307 qui ne te retourne rien, et comme ton code ne comporte aucune gestion d'erreur...
Title: Re: Problème avec Tiny RTC
Post by: bricoleau on Sep 17, 2014, 10:15 am
Autre possibilité "à la noix" : tu utilises peut-être une carte arduino sur laquelle SCL et SDA ne sont pas sur les mêmes pin, par exemple une MEGA
Title: Re: Problème avec Tiny RTC
Post by: papybricol on Sep 17, 2014, 10:56 am
Bonjour,

une piste pour les "165.............."

Ce module exige un accu LIR2032 (3.6V) et non pas une pile CR2032(3V).
La batterie est dans un circuit de charge qui accorde les 2/3 de la tension au  DS1307.
Celui-ci se coupe si on lui fournit moins de 2V...