Partage
  • Partager sur Facebook
  • Partager sur Twitter

Réveil arduino

    20 décembre 2019 à 21:24:43

    Bonjour,

    Je voudrais faire un réveil avec un module RTC et un afficheur 7 segements 4 digit, une photorésistance et un arduino uno.J'ai vu sur une autre discussion le même problème qui était résolu mais le code était modifié constamment et je n'y comprends rien

    Pourriez vous m'aider s'il vous plait ?

    Merci d'avance.

    -
    Edité par CômeLefort 26 décembre 2019 à 12:45:59

    • Partager sur Facebook
    • Partager sur Twitter
      27 décembre 2019 à 14:14:17

      Bonjour,

      si la solution a été trouvée sur un autre site, le mieux est de demander à l'auteur pour avoir des explications.

      • Partager sur Facebook
      • Partager sur Twitter
        29 décembre 2019 à 10:55:43

        Tu pourrais aussi poster le lien vers cette discussion, cela pourrait aider ;)
        • Partager sur Facebook
        • Partager sur Twitter
          18 janvier 2020 à 13:01:38

          Excusez moi de mon retard,je n'avais pas remarqué que vous m'aviez répondu,j'ai retrouvé la page 

          lorrio a écrit:

          Tu pourrais aussi poster le lien vers cette discussion, cela pourrait aider ;)

          https://openclassrooms.com/forum/sujet/reveil-arduino-afficheur-7-segments

          j'ai aussi un problème quand j'upload  le code ça me met ça

          exit status 1

          'RTCDateTime' does not name a type; did you mean 'DateTime'?

          • Partager sur Facebook
          • Partager sur Twitter
            18 janvier 2020 à 14:10:46

            il manque la déclaration de library comme par exemple : RTClib.h
            • Partager sur Facebook
            • Partager sur Twitter
              20 janvier 2020 à 19:22:42

              clgbzh a écrit:

              il manque la déclaration de library comme par exemple : RTClib.

              voila mon code:


              #include "SevSeg.h"
              #include <Wire.h>
              #include "DS3231.h"
              SevSeg sevseg; //Instantiate a seven segment object
              DS3231 clock;
              RTCDateTime dt;
              const int HButton = 2;
              const int MButton = 4;
              const int SetTButton = 3;
              int CurrentHour = 0;
              int CurrentMin = 0;
              int lastButtonTState = 0;
              int ButtonTState = 0;
              int ButtonHState = 0;
              int lastButtonHState = 0;
              int ButtonMState = 0;
              int lastButtonMState = 0;
              void setup() {
                  Wire.begin();
                  pinMode(HButton, INPUT);
                  pinMode(MButton, INPUT);
                  pinMode(SetTButton, INPUT);
                  byte numDigits = 4;
                  byte digitPins[] = {52, 50, 48, 46};
                  byte segmentPins[] = {38, 42, 36, 34, 32, 44, 40, 30};
                  sevseg.begin(COMMON_ANODE, numDigits, digitPins, segmentPins);
                  sevseg.setBrightness(50);
                  clock.begin();
              }
              void loop() {
                  sevseg.refreshDisplay();
                  MiseaHeure();
                  AfficherH();
                delay(1);
              }
              void AfficherH() {
                   dt = clock.getDateTime();
                  sevseg.setNumber(dt.hour*100+dt.minute, 4);
              }
              //Définition de la fonction mise à l'heure
              void MiseaHeure() {
                 CurrentHour = dt.hour;
                 CurrentMin = dt.minute;
                 ButtonTState = digitalRead(SetTButton);
                  if (ButtonTState != lastButtonTState) {
                   if (ButtonTState == HIGH) {
                while (ButtonTState == HIGH) {
                     sevseg.refreshDisplay();
                     ButtonHState = digitalRead(HButton);
                     ButtonMState = digitalRead(MButton);
                     if (ButtonHState != lastButtonHState) {
                     if (ButtonHState == HIGH) {
                       //Si besoin on change les heures
                       CurrentHour = CurrentHour + 1;
                       if (CurrentHour >= 24) {
                         CurrentHour = 0;
                       }
                  clock.setDateTime(dt.year, dt.month, dt.day, CurrentHour, dt.minute,
              dt.second);
                  AfficherH(); // ou sevseg.setNumber... pour éviter un appel à getDateTime
              for(unsigned long debut = millis(); millis() - debut < 500;){
                sevseg.refreshDisplay();
                     }
                   }
                   else if (ButtonMState != lastButtonMState) {
                     if (ButtonMState == HIGH) {
                       //Si besoin, on change les minutes
                        CurrentMin = CurrentMin + 1;
                       if (CurrentMin >= 60) {
                         CurrentMin = 0;
                       }
                  clock.setDateTime(dt.year, dt.month, dt.day, dt.hour, CurrentMin,
              dt.second);
                  AfficherH(); // ou sevseg.setNumber... pour éviter un appel à getDateTime
              for(unsigned long debut = millis(); millis() - debut < 500;){
                sevseg.refreshDisplay();
                     }
                   }
              AfficherH();
              sevseg.refreshDisplay();
              ButtonTState = digitalRead(SetTButton);
                   }
                  }
                }
              lastButtonTState = ButtonTState;
              lastButtonHState = ButtonHState;
              lastButtonMState = ButtonMState;
              }
              • Partager sur Facebook
              • Partager sur Twitter

              Réveil arduino

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown