IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

DS3231 - Désactivez l'onde carrée (squareWave)


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut DS3231 - Désactivez l'onde carrée (squareWave)
    Bonjour à tous

    J'utilise une bibliothèque dans mon croquis intitulée :

    ds3231-master (voir fichier joint)

    malheureusement je ne sais pas comment faire pour
    annuler le signal 1hz sur le SQW ( equivalent à : DS3231_squareWave(SQWAVE_NONE); )
    pour me permettre l'utilisation d'une interruption sur la broche 2 de mon Arduino

    quelle doit être la commande à utiliser pour annuler ce signal svp ?

    mille mercis
    cordialement

    pascal
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonsoir Cobra38

    La commande est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RTC.squareWave(SQWAVE_NONE);
    Les info sont ici.

    Cordialement
    jpbbricole

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut
    Bonsoir,

    Merci d'avoir répondu
    mais malheureusement çà ne fonctionne pas
    la librairie utilisée et que j'ai mise en pièce jointe n'autorise pas cette commande

    elle indique ceal :
    #define DS3231_CONTROL_BBSQW 0x40 /* Battery-Backed Square-Wave Enable */
    #define DS3231_CONTROL_EOSC 0x80 /* not Enable Oscillator, 0 equal on */

    mais je ne vois pas comment l'utiliser

    merci encore
    cordialement

    pascal

  4. #4
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonsoir

    Oupssss! j'avais pas vu que j'avais "dévié" sur DS3232, milles excuses.

    Cordialement
    jpbbricole

  5. #5
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonjour Pascal

    Citation Envoyé par cobra38 Voir le message
    annuler le signal 1hz sur le SQW ( equivalent à : DS3231_squareWave(SQWAVE_NONE); )
    pou me permettre l'utilisation d'une interruption sur la broche 2 de mon Arduino
    Dans la doc ils parlent d'un signal à 32kHz.
    J'ai trouvé ceci pour le désactiver.
    Mais pourquoi ne pas simplement ne pas connecter cette broche?

    Cordialement
    jpbbricole

  6. #6
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Bonjour,

    Est-ce cette bibliothèque de Petre Rodan?

    Si oui, il dit dans la doc
    This library implements the following features:

    - read/write of current time, both of the alarms,
    control/status registers, aging register
    - read of the temperature register, and of any address from the chip.
    La bibliothèque n’offre donc pas une méthode qui contrôle directement les fréquences il faut aller jouer vous même avec les registres, il donne des méthodes pour cela. Ce n’est pas insurmontable et formateur, faut lire la spécification et coder un peu.

    Sinon changez de bibliothèque, celle d’Adafruit (RTClib) fonctionne bien et expose une méthode writeSqwPinMode(Ds3231SqwPinMode mode) qui prend en paramètre la fréquence voulue choisie parmi les fréquences possibles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     enum Ds3231SqwPinMode {
      DS3231_OFF = 0x01,            /**< Off */
      DS3231_SquareWave1Hz = 0x00,  /**<  1Hz square wave */
      DS3231_SquareWave1kHz = 0x08, /**<  1kHz square wave */
      DS3231_SquareWave4kHz = 0x10, /**<  4kHz square wave */
      DS3231_SquareWave8kHz = 0x18  /**<  8kHz square wave */
    };
    Cette bibliothèque vous donne aussi deux classes supplémentaires pour gérer le temps et les intervalles de temps (DateTime et TimeSpan) et faire des opérations sur les dates

  7. #7
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut
    Bonjour jpbbricole et May J
    Tout d'abord merci de vous donner tant de mal pour mon problème

    Est-ce cette bibliothèque de Petre Rodan?
    oui c'est bien celle-là qui me pose ce problème tout fonctionne à peu près sauf la suppression de signal de 1hz
    qui me permet de dialoguer avec un autre arduino
    Mon projet est le suivant :
    1 arduino01 pour gérer l'heure puis
    1 autre arduino02 pour gérer une animation à l'aide de 2 matrices 8x8
    Une liaison est donc nécessaire pour gérer l'alarme "Réveil" et l'alarme "Sommeil" (c'est pour le petit-fils !)


    La bibliothèque n’offre donc pas une méthode qui contrôle directement les fréquences il faut aller jouer vous même avec les registres, il donne des méthodes pour cela. Ce n’est pas insurmontable et formateur, faut lire la spécification et coder un peu.
    J'ai tout essayer comme méthode mais rien ne fonctionne
    Pour information , le signal est affiché par la borne 13 de mon arduino01

    Sinon changez de bibliothèque,
    J'ai effectivement bien peur de devoir le faire ....


    Merci encore
    Cordialement
    pascal

  8. #8
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Salut

    Éventuellement Regardez dans une autre bibliothèque comment ils discutent avec la puce et comment ils configurent le registre si vous ne savez pas le faire en lisant la spécification.

    Je vais laisser @jpbricole vous répondre plus en détail mais il a un bon point: pourquoi connectez vous cette broche si vous ne l’utilisez pas?

  9. #9
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut
    Bonjour,

    merci pour votre reponse

    pourquoi connectez vous cette broche si vous ne l’utilisez pas?
    J'utilise ceci pour communiquer avec mon arduino02

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define SQW_PIN 2          //interruption d'alarme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pinMode(SQW_PIN, INPUT_PULLUP); //Fixez une interruption sur la chute de la broche SQW.
      attachInterrupt(INT0,alarmIsr,FALLING);
    ainsi je détecte par l'interruption s'il y a une alarme enclenchée puis ensuite je sélectionne l'alarme concernée et lui envoi un "1" ou "2" (pour symboliser l'heure du Réveil ou du Sommeil )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     //**************************************************
      Wire.beginTransmission(44); // Envoyer vers device #44
      Wire.write(1); // Envoi un 1
      Wire.endTransmission(1000); // Arreter la transmissionndelay(1000); 
      //**************************************************
    et le même code pour l'autre alarme
    j'avais déjà avec un autre croquis testé cette configuration qui semble bien fonctionner mais avec une autre librairie
    celle-ci
    https://github.com/JChristensen/DS3232RTC

    là tout fonctionne sauf annulation du signal 1hz ..


    Voilà j'espère avoir répondu à votre demande mais s'il y a d'autre approche je suis bien sûr preneur

    Cordialement
    pascal

  10. #10
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonjour Pascal

    Citation Envoyé par cobra38 Voir le message
    là tout fonctionne sauf annulation du signal 1hz ..
    En fait, il n'y a pas de commande pour arrêter ce signal. En lisant le datasheet du DS3231 page 9 section INT/SQW, (mon anglais n'est pas de première..) que cette pin, SQW, devient pin d'interruption, du moment qu'une alarme est activée. Recherches INTCN dans le pdf, c'est instructif.

    Citation Envoyé par Jay M Voir le message
    Je vais laisser @jpbricole vous répondre plus en détail ....
    Que dois-je répondre en détail?

    A+
    Cordialement
    jpbbricole

  11. #11
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut
    Bonjour jpbbricole

    Effectivement à force de regarder mon croquis et lire vos remarques judicieuses
    j'ai fait l'essai sans interruption et donc sans SQW

    eh bien çà marche (?)
    j'ai donc appris à m'en passer mais je n'ai pas trouvé le moyen d'inhiber le signal de 1Hz sauf à changer de librairie


    grand merci encore ....

    Cordialement
    pascal

  12. #12
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonjour Pascal
    Citation Envoyé par cobra38 Voir le message
    je n'ai pas trouvé le moyen d'inhiber le signal de 1Hz sauf à changer de librairie
    Ou en activant une alarme.

    Cordialement
    jpbbricole

Discussions similaires

  1. Ondes triangle et carré = inférieur à zéro ?
    Par punkcoders dans le forum Mathématiques
    Réponses: 1
    Dernier message: 27/10/2012, 13h25
  2. [Astuce] Approximation de racines carrées
    Par Smortex dans le forum Assembleur
    Réponses: 16
    Dernier message: 18/05/2004, 06h17
  3. Carré coincé !
    Par GLDavid dans le forum OpenGL
    Réponses: 3
    Dernier message: 11/02/2004, 10h00
  4. Tracer un carré de X cm
    Par mdel dans le forum Composants VCL
    Réponses: 6
    Dernier message: 06/01/2003, 16h17
  5. Racine carrée
    Par SteelBox dans le forum Mathématiques
    Réponses: 5
    Dernier message: 23/11/2002, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo