dcf 77 + arduino

Les cartes Arduino, les platines

dcf 77 + arduino

Message non lude nebulus » Jeu 14 Fév 2013 20:58

bonjour

je revient vers vous aujourd’hui car j'ai un petit souci.

j'ai acheter un module dcf 77 pour que mon arduino puisse se mettre a l'heure tout seul mes je n'arrive pas a le faire fonctionner.

pour l'instant tout ce passe dans le serial.

module dcf77 : sym-rft-77

j'ai bien la librairie funkuhr

Code: Tout sélectionner
/**
 * Example sketch for the Funkuhr Arduino library
 */
#include "Funkuhr.h"
 
Funkuhr dcf(9, 9, 9);
struct Dcf77Time dt = { 0 };
 
uint8_t curSec;
 
 
void dumpTime(void)

    Serial.println("DCF77 Time");
 
    // Print date
    Serial.print(" ");
 
    if(dt.day < 10)
        Serial.print("0");
    Serial.print(dt.day, DEC);
    Serial.print(".");
     
    if(dt.month < 10)
        Serial.print("0");
    Serial.print(dt.month, DEC);
    Serial.print(".");
     
    if(dt.year == 0)
    {
        Serial.print("000");
    }
    else
    {
        Serial.print("20");
    } 
 
    Serial.print(dt.year, DEC);
     
    if(dcf.synced())
    {
        Serial.println(" ");
        Serial.print(" ");
    }
    else
    {
        Serial.println(" ");
        Serial.print("~");
    }
     
    // Print Time
    if (dt.hour < 10)
        Serial.print("0");
     
    Serial.print(dt.hour, DEC);
    Serial.print(":");
     
    if (dt.min < 10)
        Serial.print("0");
     
    Serial.print(dt.min, DEC);
    Serial.print(":");
     
    if (dt.sec < 10)
        Serial.print("0");
 
    Serial.println(dt.sec, DEC);
     
    Serial.println(" ");
}
 
 
void setup(void)
{
    Serial.begin(9600);
    dcf.init();
}
 
 
void loop(void)
{
    dcf.getTime(dt);
     
    if(dt.sec != curSec)
    {
        dumpTime();
    }
     
    curSec = dt.sec;
}


merci de votre lecture et de vos reponse.
nebulus
 
Messages: 17
Inscription: Lun 2 Juil 2012 22:32

Re: dcf 77 + arduino

Message non lude SesechXP » Ven 15 Fév 2013 20:29

Salut,

Il semblerait que le module DCF77 en question soit à sortie inversée (http://www.pvelectronics.co.uk/rftime/SYM-RFT-XX.pdf).

Il faut donc créer l'objet Funkuhr avec le paramètre invertedSignal = true :
Code: Tout sélectionner
Funkuhr dcf(9, 9, 9, true);


++
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: dcf 77 + arduino

Message non lude SesechXP » Ven 15 Fév 2013 20:45

Les broches utilisées posent également problème...

Le constructeur Funkuhr a le prototype suivant :
Code: Tout sélectionner
Funkuhr(uint8_t intNumber = 0, uint8_t dcf77Pin = 2, uint8_t blinkPin = 13, bool invertedSignal = false);

    Avec :
  • intNumber le numéro de l'interruption utilisée. Sur un Arduino Uno, 0 ou 1.
  • dcf77Pin l'entrée sur laquelle est connectée la sortie DCF77. Sur un Arduino Uno, 2 ou 3.
  • blinkPin la sortie sur laquelle est éventuellement connectée une LED qui clignotera en fonction de la réception DCF77.
  • invertedSignal permet d'indiquer sur le signal de la sortie DCF77 est inversée ou non. Dépend du module DCF77. Dans ton cas ce paramètre doit être à true.

En passant les arguments 9, 9, et 9 ton sketch ne peut pas fonctionner. Elle est utilisée en entrée DCF77 et en sortie pour la LED :? De plus si tu utilises un Arduino Uno, la broche 9 n'est pas une entrée d'interruption.

J'ai écrit un article sur la réception de l'heure DCF77. Tu y trouveras notamment un schéma de câblage ;)

++
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: dcf 77 + arduino

Message non lude nebulus » Sam 16 Fév 2013 15:53

bonjour

pour les broches effectivement j'ai essayer sa en dernier recourt car j'etait a bout d'idée

j'ai remit tout sa d'origine ( Funkuhr dcf(0, 2, 13, true)

effectivement j'ai déjà vue ton post qui ma beaucoup aidez.

mes sa ne marche pas j'arrive toujours pas a obtenir une heure avec le dcf.

j'ai bien mon +5 sur la broche vdd
mon gnd sur la masse
et j'ai bien mon fils de donné qui et inverser.

par contre je travail sur un arduino mega. d'apres ce que jai put lire sur le net les sortie sont les meme que sur le uno sauf que sur le mega yen a 4 de plus.

la je suis complétement perdu.


Code: Tout sélectionner
/**
 * Example sketch for the Funkuhr Arduino library
 */
#include "Funkuhr.h"
 
Funkuhr dcf(0, 2, 13, true);
struct Dcf77Time dt = { 0 };
 
uint8_t curSec;
 
 
void dumpTime(void)

    Serial.println("DCF77 Time");
 
    // Print date
    Serial.print(" ");
 
    if(dt.day < 10)
        Serial.print("0");
    Serial.print(dt.day, DEC);
    Serial.print(".");
     
    if(dt.month < 10)
        Serial.print("0");
    Serial.print(dt.month, DEC);
    Serial.print(".");
     
    if(dt.year == 0)
    {
        Serial.print("000");
    }
    else
    {
        Serial.print("20");
    } 
 
    Serial.print(dt.year, DEC);
     
    if(dcf.synced())
    {
        Serial.println(" ");
        Serial.print(" ");
    }
    else
    {
        Serial.println(" ");
        Serial.print("~");
    }
     
    // Print Time
    if (dt.hour < 10)
        Serial.print("0");
     
    Serial.print(dt.hour, DEC);
    Serial.print(":");
     
    if (dt.min < 10)
        Serial.print("0");
     
    Serial.print(dt.min, DEC);
    Serial.print(":");
     
    if (dt.sec < 10)
        Serial.print("0");
 
    Serial.println(dt.sec, DEC);
     
    Serial.println(" ");
}
 
 
void setup(void)
{
    Serial.begin(9600);
    dcf.init();
}
 
 
void loop(void)
{
    dcf.getTime(dt);
     
    if(dt.sec != curSec)
    {
        dumpTime();
    }
     
    curSec = dt.sec;
}
nebulus
 
Messages: 17
Inscription: Lun 2 Juil 2012 22:32

Re: dcf 77 + arduino

Message non lude SesechXP » Dim 17 Fév 2013 10:11

Si on regarde le schéma de la Mega, on peut voir que :
- la LED est câblée sur la pinouille 13 ;
- INT0 est sur la 21 ;
- INT1 est sur la 20 ;
- INT2 est sur la 19 ;
- INT3 est sur la 18 ;
- INT4 est sur la 2 ;
- INT5 est sur la 3 ;
- INT6 et INT7 ne sont pas câblées (quelle connerie :evil: ).

A toi de choisir l'entrée d'interruption qui te convient :D

++
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: dcf 77 + arduino

Message non lude nebulus » Dim 17 Fév 2013 13:33

bon après plusieurs essaie sur toute les entré d’interruptions je pense que mon module et hs car je n'arrive a rien.

ya possibilité de le tester?.

car a chaque fois la led brancher sur le pin 13 ne clignote pas quoi que je fasse enfin si elle clignote quand il fini de compiler mes après plus rien .
nebulus
 
Messages: 17
Inscription: Lun 2 Juil 2012 22:32

Re: dcf 77 + arduino

Message non lude SesechXP » Dim 17 Fév 2013 20:21

D'après la doc, ton module DCF77 possède une LED indiquant son état. S'allume-t-elle ?
As-tu ajouté une résistance de pull-up ? Elle n'est pas nécessaire avec ton module...
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: dcf 77 + arduino

Message non lude nebulus » Dim 17 Fév 2013 20:44

oui la led reste constamment allumé et j'ai essayer avec et sans la résistance de pull-up mes sa donne rien ?
nebulus
 
Messages: 17
Inscription: Lun 2 Juil 2012 22:32


Retourner vers Arduino

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 3 invités

cron