Go Down

Topic: Fonctionnement du shield RTC/SD (Read 102 times) previous topic - next topic

FHESSER

Bonjour,

J'essaie de faire fonctionner un module RTC/SD Data Logging shield V1.0 avec difficultés.
J'ai un arduino Mega 2560 R3

Je dialogue bien (je crois) avec ce shield mais il ne décolle pas de sa date 2034/4/23 17:18:39
comme si le code RTC.begin() ne passait pas.

J'ai plusieurs pistes et je voudrais votre avis

- l'adresse du RTC est pas bonne (j'en doute, vu la réponse)
- il faut alimenter autrement qu'avec la prise USB
- le shield est défaillant
- je suis défaillant.

Je regarde à l'oscilloscope il y a bien un dialogue sur SCL et SDA (que je ne sais pas analyser)

J'ai bien continuité entre les pin du quartz et les pin 1 et 2 du DS137
J'ai bien aussi continuité entre les bornes de la pile et les pin 3 et 4 du DS137
La fréquence du quartz est de 10ns

Je sais plus ou chercher.

Quelqu'un a-t-il une idée.

J'ai l'impression d'être vraiment à coté de la plaque!



JMe87

#1
Jan 26, 2015, 11:25 pm Last Edit: Jan 26, 2015, 11:25 pm by JMe87
Bonsoir,
tu es tellement perdu que tu en oublies de nous donner ton code ;-)
Courage
Jacques

bricoleau

#2
Jan 26, 2015, 11:26 pm Last Edit: Jan 26, 2015, 11:26 pm by bricoleau
Salut

Ton code stp ? (avec quelle lib RTC? y a une fonction isrunning? si oui ça donne quoi?)

Sinon une proposition à l'aveugle : enlève la pile

bricoleau

#3
Jan 27, 2015, 12:03 am Last Edit: Jan 27, 2015, 12:05 am by bricoleau
Deuxième proposition à l'aveugle :  ton shield prend SDA et SCL sur A4/A5 alors que sur une mega SDA et SCL sont sur 20/21 (c'est même écrit dessus)

Ce serait quand même bête d'avoir sorti l'oscillo pour ça  :smiley-kiss:

FHESSER

#4
Jan 27, 2015, 04:50 pm Last Edit: Jan 27, 2015, 05:08 pm by FHESSER
Merci à tous pour vos réponses.
Mais j'ai pas encore tout compris, je ne suis pas un faut débutant, mais un vrai débutant.

Pour la réponse de bricolo, il me semble que les pin 20/21 du méga sont identique aux pin (1 SCL  2 SDA) du connecteur JP6
Et sur mon shield, il est marqué la même chose sur les pin en face du connecteur JP6 (1-SCL   2 SDA)

bricoleau

Je ne sais pas ce que tu désignes par connecteur JP6, mais si c'est le connecteur ICSP de la mega, la réponse est clairement non.

Sur une arduino mega 2560 les sorties SDA et SCL sont uniquement sur les pin 20 et 21.
Sur une UNO c'est A4 et A5
Si tu utilises un shied prévu pour une UNO, il te faut bricoler cette jonction manuellement.

FHESSER

Voila une photo du shield, je n'ai pas trouvé de doc correspondant réellement à ce shield

icare

Bonjour,
La solution t'est donnée par le post bricoleau. ;)
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

FHESSER

Bon mea culpa.

Ce sont bien les pin A5-SCL A4-SDA qui doivent communiquer avec les pin 20-SCL et 21 SDA du mega.

Mais alors, pourquoi tant de haine?

Pourquoi on retrouve plusieurs SCL/SDA sur la carte MEGA et plusieurs SCL/SDA sur la carte RTD/SD ????

FHESSER

En prime, le dialogue SCL/SDA (tronqué parce que pas assez de mémoire sur mon scope)

avec tous mes remerciements

FHESSER

Vous allez dire que j'insiste mais.... voila le temps que me donne le programme????

Peut-être de problèmes de masse, circuit volant a l'heure actuelle!


Code: [Select]

2014/1/27 22:20:58
2165/165/165 165:165:85
2014/1/27 22:21:0
2165/165/45 22:21:1
2014/1/27 22:21:2
2165/165/165 22:21:3
2165/165/45 22:21:4
2165/165/23 22:21:5
2165/165/165 165:165:7
2014/1/27 22:21:7
2017/1/27 22:21:8
2014/1/27 22:21:9
2017/1/27 22:21:10
2165/165/165 165:165:85
2165/165/165 165:165:13
2014/1/27 22:21:13
2025/1/27 22:21:14
2165/1/27 22:21:15
2014/1/27 22:21:16
2014/1/27 22:21:17
2017/1/27 22:21:18
2165/165/165 23:21:19
2165/165/165 22:21:20
2165/165/165 165:45:21
2165/165/165 165:165:11
2014/1/27 22:21:23
2014/1/27 22:21:24
2014/1/27 22:21:25
2165/165/165 165:165:27
2165/165/165 22:21:27
2014/1/27 22:21:28
2165/1/27 22:21:29



Et le programme correspondant:

Code: [Select]

#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 rtc;

void setup () {
  Serial.begin(19200);
#ifdef AVR
  Wire.begin();
#else
  Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due
#endif
  rtc.begin();

  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
    rtc.adjust(DateTime(2015, 1, 27, 22, 14, 0));
  }
}

void loop () {
    DateTime now = rtc.now();
   
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
     */
   
delay(1000);
}

elektrax

je teste ton code

 Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
     */
erreur compilation : enlever le */

avec le meme shield sur UNO r3 : il a été mis à l'heure il y a 5 jours avec rtcsetup

http://www.lucadentella.it/en/2013/11/27/rtcsetup/

shield enfiché directement sur UNO avec le code qui est l'exemple de la biblio RTClib


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy