Partage
  • Partager sur Facebook
  • Partager sur Twitter

ARDUINO

Crée une Horloge

    24 décembre 2014 à 11:00:19

    Bonjour,

    je débute tout juste dans la programmation D' Arduino ( il me semble que c'est du C)

    Je voudrai crée une horloge voila mon montage je l'ai déjà monter il me manque plus que le code:

    (j’espère qu'il est clair)Shemaexemple:

    il est 10:54 a l'heure ou j' Ecrit ce message l'horloge ne connaissant pas les minutes entre 10:45 et 11:00 elle affichera 10:45 car elle arrondi a l’inférieur  ( ou la supérieure tant mieux )

    Donc  l'ampoule verte pour 9 heure l'ampoule jaune pour 1 heure de plus on arrive déjà a 10h00 mais il manque 45 minutes alors elle va allumer l'ampoule bleu 45.

    Merci de m'aider a trouver un code correspondant a ma demande car je cherche depuis plus de 1 semaine et je ne trouve rien.

    Cordialement Charles.

    • Partager sur Facebook
    • Partager sur Twitter
    Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
      24 décembre 2014 à 11:07:05

      Bon déjà, connais tu les bases de la programmation Arduino ? Ca va être difficile si tu n'y connais pas grand chose.

      De plus, en voulant faire un montage simple (par ailleurs tes LEDS sont elles protégées par des résistances adaptées ?) Ca te complique l'algorithme (arrondi et heure intermédiaire par exemple). Tu es sur que tu veux faire horloge de cette façon ?

      • Partager sur Facebook
      • Partager sur Twitter
      "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
        24 décembre 2014 à 11:10:38

        je comprend  la base.

        Non pas de résistance, c'est pas grave si elle grille . et sa simplifie mon circuit j'en mettrez peut être par la suite.

        ensuite j'aimerai un montage comme celui ci. quel alternative pour une horloge comme celle la?

        -
        Edité par charles33600 24 décembre 2014 à 11:15:38

        • Partager sur Facebook
        • Partager sur Twitter
        Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
          24 décembre 2014 à 11:24:26

          charles33600 a écrit:

          Non pas de résistance, c'est pas grave si elle grille .

          Mauvaise habitude. Griller une LED c'est pas grave, griller ton Arduino c'est couillon.

          Pour le schéma j'ai trouvé un grand classique sur ce site http://www.montageselectro.charenteactive.fr/Montagec09.aspx
          Avec ce schéma c'est à mon avis bien plus simple de programmer ton horloge.

          Tu ne gardes que la partie afficheur 7 segments, transistor et résistances, tu vires le reste et tu remplaces par ton arduino :

          Enfin, vu qu'il doit te rester des entrées, un ou deux boutons pour régler l'heure...

          -
          Edité par thecraouch 24 décembre 2014 à 11:25:09

          • Partager sur Facebook
          • Partager sur Twitter
          "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
            24 décembre 2014 à 11:30:34

            J'ai pas d'afficheur
            • Partager sur Facebook
            • Partager sur Twitter
            Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
              24 décembre 2014 à 11:31:42

              • Partager sur Facebook
              • Partager sur Twitter
              Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                24 décembre 2014 à 11:47:42

                Bon ok, gardes ton schéma alors. As tu déjà des idées sur ton programme ? Je veux bien t'aider mais je vais pas t'écrire le code, que ce soit bien clair.
                • Partager sur Facebook
                • Partager sur Twitter
                "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                  24 décembre 2014 à 11:48:58

                  Ne t'enerve pas je demande juste de l'aide je veut apprendre pas que l'on me le face ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                    24 décembre 2014 à 11:53:09

                    Navré si je t'ai donné l'impression de m'énerver, ce n'est pas le cas et je présentes mes excuses pour le malentendu ^^
                    Alors, as-tu des idées ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                    "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                      24 décembre 2014 à 12:09:22

                      pour l'instant je n'ai pas commencer a coder 

                      je pensser un attribue dans un premier dabbord une valeurs MINUTES

                      puis HEURE

                      appres on cree des condition 

                      HEURE =  12  //attribue l'heure ici

                      MINUTES = 24 //attribue les minutes ici

                      s = 0;

                      i = 1;

                      n = 2;

                      h1 =3;

                      h3 = 4;

                      h5 = 5;

                      h7 = 6;

                      h9 = 7;

                      h11 = 8;

                      m15 = 9;

                      m30 = 10;

                      m45 = 11;

                      void setup() {

                      pinMode(s, OUTPUT);

                      pinMode(i, OUTPUT);

                      pinMode(n, OUTPUT);

                      pinMode(h1, OUTPUT);

                      pinMode(h3, OUTPUT);

                      pinMode(h5, OUTPUT);

                      pinMode(h7, OUTPUT);

                      pinMode(h9, OUTPUT);

                      pinMode(h11, OUTPUT);

                      pinMode(m15, OUTPUT);

                      pinMode(m30, OUTPUT);

                      pinMode(m45, OUTPUT);

                      }


                      void loop() {

                      while ( MINUTES <= 15)

                      {

                      digitalWrite(m15, LOW);

                      digitalWrite(m30, LOW);

                      digitalWrite(m45, LOW;

                      }

                      while ( MINUTES <= 30)

                      {

                      digitalWrite(m15, HIGH);

                      digitalWrite(m30, LOW);

                      digitalWrite(m45, LOW;

                      }

                      while ( MINUTES <= 45)

                      {

                      digitalWrite(m15, LOW);

                      digitalWrite(m30, HIGH);

                      digitalWrite(m45, LOW;

                      }

                      while ( MINUTES <= 60){

                      digitalWrite(m15, LOW);

                      digitalWrite(m30, LOW);

                      digitalWrite(m45, HIGH;

                      }

                      }

                      Voila pour les minutes

                      -
                      Edité par charles33600 24 décembre 2014 à 12:10:08

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                        24 décembre 2014 à 12:50:12

                        Alors moi je te conseille de séparer les tâches :

                        - d'une part tu as la logique de calcul de l'heure, à partir du comptage des millisecondes (fonction millis()). Elle ne s'occupe que de calculer l'heure exacte, et rien d'autre. Fais une fonction calculerHeure() à appeler au début de loop().

                        - d'autre part l'écriture des sorties en fonction de l'heure exacte. C'est à dire tout ce qu'il y a actuellement dans ton loop(), que je te recommande de déporter dans une fonction afficherHeure(int heure, int minutes), à appeler dans loop() après calculerHeure().

                        L’intérêt : le jour ou tu changes ton circuit d'affichage, tu ne changes que la fonction afficherHeure. Pratique non ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                        "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                          24 décembre 2014 à 12:57:52

                          comment faire pour ajouter toutes les minutes 1 a la valeur MINUTES?

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                            24 décembre 2014 à 13:22:17

                            Allez, c'est la veille de Noël après tout :
                            unsigned long previousMillis=0;
                            unsigned long nowMillis=0;
                            
                            calculHeure()
                            {
                               nowMillis=millis()
                               if(nowMillis-previousMillis >= 60000) //1min= 60000 millisecondes
                               {
                                  previousMillis = nowMillis; //on met à jour la valeur, sinon la condition >=60000 sera toujours vraie !
                                  minutes++; //on ajoute une minute
                                  if(minutes==60)//nouvelle heure
                                  {
                                     minutes=0;
                                     heures++;//on ajoute une heure
                                  }
                                  if(heures==24)//minuit
                                     heures=0;
                               }
                            }



                            • Partager sur Facebook
                            • Partager sur Twitter
                            "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                              24 décembre 2014 à 13:32:51

                              je le met dans loop?

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                24 décembre 2014 à 13:34:24

                                oui, dans le loop tu met calculerHeure, puis afficherheure.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                                  24 décembre 2014 à 13:34:46

                                  il me met une erreur

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                    24 décembre 2014 à 13:35:37

                                    sketch_dec24c.ino: In function 'void loop()': sketch_dec24c:56: error: 'calculHeure' was not declared in this scope sketch_dec24c:57: error: expected ;' before '{' token sketch_dec24c:137: error: expected }' at end of input

                                    -
                                    Edité par charles33600 24 décembre 2014 à 13:35:58

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                      24 décembre 2014 à 13:39:36

                                      int HEURE =  12;  //attribue l'heure ici
                                      
                                      int MINUTES = 24; //attribue les minutes ici
                                      
                                       
                                      
                                      int s = 0;
                                      int i = 1;
                                      int n = 2;
                                      int h1 =3;
                                      int h3 = 4;
                                      int h5 = 5;
                                      int h7 = 6;
                                      int h9 = 7;
                                      int h11 = 8;
                                      int m15 = 9;
                                      int m30 = 10;
                                      int m45 = 11;
                                       
                                      
                                      void setup() {
                                      
                                      pinMode(s, OUTPUT);
                                      
                                      pinMode(i, OUTPUT);
                                      
                                      pinMode(n, OUTPUT);
                                      
                                      pinMode(h1, OUTPUT);
                                      
                                      pinMode(h3, OUTPUT);
                                      
                                      pinMode(h5, OUTPUT);
                                      
                                      pinMode(h7, OUTPUT);
                                      
                                      pinMode(h9, OUTPUT);
                                      
                                      pinMode(h11, OUTPUT);
                                      
                                      pinMode(m15, OUTPUT);
                                      
                                      pinMode(m30, OUTPUT);
                                      
                                      pinMode(m45, OUTPUT);
                                      
                                      }
                                      
                                      
                                      
                                      void loop() {
                                      
                                        unsigned long previousMillis=0;
                                      unsigned long nowMillis=0;
                                       
                                      calculHeure()
                                      {
                                         nowMillis=millis()
                                         if(nowMillis-previousMillis >= 60000) //1min= 60000 millisecondes
                                         {
                                            previousMillis = nowMillis; //on met à jour la valeur, sinon la condition >=60000 sera toujours vraie !
                                            minutes++; //on ajoute une minute
                                            if(minutes==60)//nouvelle heure
                                            {
                                               minutes=0;
                                               heures++;//on ajoute une heure
                                            }
                                            if(heures==24)//minuit
                                               heures=0;
                                         }
                                      }
                                        
                                        digitalWrite(s, HIGH);
                                        delay(1000);
                                        digitalWrite(s, LOW);
                                        delay(1000);
                                      
                                      while ( MINUTES < 15)
                                      
                                      {
                                      
                                      digitalWrite(m15, LOW);
                                      
                                      digitalWrite(m30, LOW);
                                      
                                      digitalWrite(m45, LOW);
                                      
                                      
                                      
                                      }
                                      
                                       
                                      
                                      while ( MINUTES < 30)
                                      
                                      {
                                      
                                      digitalWrite(m15, HIGH);
                                      
                                      digitalWrite(m30, LOW);
                                      
                                      digitalWrite(m45, LOW);
                                        digitalWrite(s, HIGH);
                                        delay(1000);
                                        digitalWrite(s, LOW);
                                        delay(1000);
                                      }
                                      
                                       
                                      
                                      while ( MINUTES < 45)
                                      
                                      {
                                      
                                      digitalWrite(m15, LOW);
                                      
                                      digitalWrite(m30, HIGH);
                                      
                                      digitalWrite(m45, LOW);
                                      
                                      }
                                      
                                      while ( MINUTES < 60){
                                      
                                      digitalWrite(m15, LOW);
                                      
                                      digitalWrite(m30, LOW);
                                      
                                      digitalWrite(m45, HIGH);
                                      
                                      }
                                      
                                       
                                      
                                       
                                      
                                      }
                                      
                                       
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                        24 décembre 2014 à 13:43:10

                                        Ah mais non ! déclare la fonction calculerHeure à l'extérieur de la boucle, comme je l'ai fait (d'ailleurs j'ai oublié le void et le return...), puis dans loop tu l'appelles, c'est tout ! D'ailleurs fait attention, on a pas edcrit minute et heure de la même façon, moi je suis en minuscule.

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                                          24 décembre 2014 à 14:05:19

                                          Comme ca ?

                                          int HEURES =  12;  //attribue l'heure ici
                                          
                                          int MINUTES = 24; //attribue les minutes ici
                                          
                                             unsigned long previousMillis=0;
                                          unsigned long nowMillis=0;
                                          
                                          int s = 0;
                                          int i = 1;
                                          int n = 2;
                                          int h1 =3;
                                          int h3 = 4;
                                          int h5 = 5;
                                          int h7 = 6;
                                          int h9 = 7;
                                          int h11 = 8;
                                          int m15 = 9;
                                          int m30 = 10;
                                          int m45 = 11;
                                           
                                          
                                          void setup() {
                                          
                                          pinMode(s, OUTPUT);
                                          
                                          pinMode(i, OUTPUT);
                                          
                                          pinMode(n, OUTPUT);
                                          
                                          pinMode(h1, OUTPUT);
                                          
                                          pinMode(h3, OUTPUT);
                                          
                                          pinMode(h5, OUTPUT);
                                          
                                          pinMode(h7, OUTPUT);
                                          
                                          pinMode(h9, OUTPUT);
                                          
                                          pinMode(h11, OUTPUT);
                                          
                                          pinMode(m15, OUTPUT);
                                          
                                          pinMode(m30, OUTPUT);
                                          
                                          pinMode(m45, OUTPUT);
                                          
                                          }
                                          
                                          
                                          
                                          void loop() {
                                          
                                          
                                           
                                          
                                            
                                            digitalWrite(s, HIGH);
                                            delay(1000);
                                            digitalWrite(s, LOW);
                                            delay(1000);
                                          
                                          while ( MINUTES < 15)
                                          
                                          {
                                          
                                          digitalWrite(m15, LOW);
                                          
                                          digitalWrite(m30, LOW);
                                          
                                          digitalWrite(m45, LOW);
                                          
                                          
                                          
                                          }
                                          
                                           
                                          
                                          while ( MINUTES < 30)
                                          
                                          {
                                          
                                          digitalWrite(m15, HIGH);
                                          
                                          digitalWrite(m30, LOW);
                                          
                                          digitalWrite(m45, LOW);
                                            digitalWrite(s, HIGH);
                                            delay(1000);
                                            digitalWrite(s, LOW);
                                            delay(1000);
                                          }
                                          
                                           
                                          
                                          while ( MINUTES < 45)
                                          
                                          {
                                          
                                          digitalWrite(m15, LOW);
                                          
                                          digitalWrite(m30, HIGH);
                                          
                                          digitalWrite(m45, LOW);
                                          
                                          }
                                          
                                          while ( MINUTES < 60){
                                          
                                          digitalWrite(m15, LOW);
                                          
                                          digitalWrite(m30, LOW);
                                          
                                          digitalWrite(m45, HIGH);
                                          
                                          }
                                          
                                           
                                          
                                           
                                          
                                          }
                                          calculHEURES()
                                          {
                                             nowMillis=millis()
                                             if(nowMillis-previousMillis >= 60000) //1min= 60000 millisecondes
                                             {
                                                previousMillis = nowMillis; //on met à jour la valeur, sinon la condition >=60000 sera toujours vraie !
                                                MINUTES++; //on ajoute une minute
                                                if(MINUTES==60)//nouvelle heure
                                                {
                                                   MINUTES=0;
                                                   HEURES++;//on ajoute une heure
                                                }
                                                if(HEURES==24)//minuit
                                                   HEURE=0;
                                             }
                                          }
                                           



                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                            24 décembre 2014 à 14:12:36

                                            Presque. Je corrige la fonction calculHeure :

                                            void calculHEURES()
                                            {
                                               nowMillis=millis()
                                               if(nowMillis-previousMillis >= 60000) //1min= 60000 millisecondes
                                               {
                                                  previousMillis = nowMillis; //on met à jour la valeur, sinon la condition >=60000 sera toujours vraie !
                                                  MINUTES++; //on ajoute une minute
                                                  if(MINUTES==60)//nouvelle heure
                                                  {
                                                     MINUTES=0;
                                                     HEURES++;//on ajoute une heure
                                                  }
                                                  if(HEURES==24)//minuit
                                                     HEURE=0;
                                               }
                                               return;
                                            }



                                            Puis, dans loop :

                                            void loop()
                                            {
                                               calculHEURES();
                                            //reste de ton algo à la suite


                                            Là on devrait pas être loin de la vérité.

                                            -
                                            Edité par thecraouch 24 décembre 2014 à 14:13:22

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                                              24 décembre 2014 à 15:45:48

                                              Toujours des erreur ou mettre cella ?

                                              void calculHEURES()
                                              {
                                                 nowMillis=millis()
                                                 if(nowMillis-previousMillis >= 60000) //1min= 60000 millisecondes
                                                 {
                                                    previousMillis = nowMillis; //on met à jour la valeur, sinon la condition >=60000 sera toujours vraie !
                                                    MINUTES++; //on ajoute une minute
                                                    if(MINUTES==60)//nouvelle heure
                                                    {
                                                       MINUTES=0;
                                                       HEURES++;//on ajoute une heure
                                                    }
                                                    if(HEURES==24)//minuit
                                                       HEURE=0;
                                                 }
                                                 return;
                                              }



                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                                24 décembre 2014 à 15:46:32

                                                int HEURES = 12; //attribue l'heure ici
                                                int MINUTES = 24; //attribue les minutes ici
                                                
                                                
                                                
                                                int s = 0;
                                                int i = 1;
                                                int n = 2;
                                                int h1 =3;
                                                int h3 = 4;
                                                int h5 = 5;
                                                int h7 = 6;
                                                int h9 = 7;
                                                int h11 = 8;
                                                int m15 = 9;
                                                int m30 = 10;
                                                int m45 = 11;
                                                 
                                                 
                                                 void calculHEURES()
                                                {
                                                   nowMillis=millis()
                                                   if(nowMillis-previousMillis >= 60000) //1min= 60000 millisecondes
                                                   {
                                                      previousMillis = nowMillis; //on met à jour la valeur, sinon la condition >=60000 sera toujours vraie !
                                                      MINUTES++; //on ajoute une minute
                                                      if(MINUTES==60)//nouvelle heure
                                                      {
                                                         MINUTES=0;
                                                         HEURES++;//on ajoute une heure
                                                      }
                                                      if(HEURES==24)//minuit
                                                         HEURE=0;
                                                   }
                                                   return;
                                                }
                                                
                                                void setup() {
                                                
                                                pinMode(s, OUTPUT);
                                                
                                                pinMode(i, OUTPUT);
                                                
                                                pinMode(n, OUTPUT);
                                                
                                                pinMode(h1, OUTPUT);
                                                
                                                pinMode(h3, OUTPUT);
                                                
                                                pinMode(h5, OUTPUT);
                                                
                                                pinMode(h7, OUTPUT);
                                                
                                                pinMode(h9, OUTPUT);
                                                
                                                pinMode(h11, OUTPUT);
                                                
                                                pinMode(m15, OUTPUT);
                                                
                                                pinMode(m30, OUTPUT);
                                                
                                                pinMode(m45, OUTPUT);
                                                
                                                }
                                                
                                                
                                                
                                                void loop() {
                                                
                                                
                                                 
                                                
                                                  calculHEURES();
                                                
                                                {
                                                
                                                digitalWrite(m15, LOW);
                                                
                                                digitalWrite(m30, LOW);
                                                
                                                digitalWrite(m45, LOW);
                                                
                                                
                                                
                                                }
                                                
                                                 
                                                
                                                while ( MINUTES < 30)
                                                
                                                {
                                                
                                                digitalWrite(m15, HIGH);
                                                
                                                digitalWrite(m30, LOW);
                                                
                                                digitalWrite(m45, LOW);
                                                  digitalWrite(s, HIGH);
                                                  delay(1000);
                                                  digitalWrite(s, LOW);
                                                  delay(1000);
                                                }
                                                
                                                 
                                                
                                                while ( MINUTES < 45)
                                                
                                                {
                                                
                                                digitalWrite(m15, LOW);
                                                
                                                digitalWrite(m30, HIGH);
                                                
                                                digitalWrite(m45, LOW);
                                                
                                                }
                                                
                                                while ( MINUTES < 60){
                                                
                                                digitalWrite(m15, LOW);
                                                
                                                digitalWrite(m30, LOW);
                                                
                                                digitalWrite(m45, HIGH);
                                                
                                                }
                                                
                                                 
                                                
                                                 
                                                
                                                }
                                                

                                                -
                                                Edité par charles33600 24 décembre 2014 à 15:47:19

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                                  24 décembre 2014 à 15:55:28

                                                  plutôt que remettre tout le code à chaque fois, met plutôt les messages d'erreurs, c'est plus instructif.

                                                  D'ailleurs je vois des bêtises dans loop() : les while ! ils vont te boucler de manière infinie ! Remplace chaque "while" par "if" stp.

                                                  C'est quoi ce bloc en dessous de calculHeures(); ?

                                                  {
                                                   
                                                  digitalWrite(m15, LOW);
                                                   
                                                  digitalWrite(m30, LOW);
                                                   
                                                  digitalWrite(m45, LOW);
                                                   
                                                   
                                                   
                                                  }

                                                  Quant à tes delay(1000) et les digitalWrite(s, HIGH/LOW); ils n'ont rien à faire dans les bloc while, ils doivent être à la fin de loop.

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                                                    24 décembre 2014 à 16:03:11

                                                    C'est pour les minutes

                                                    -
                                                    Edité par charles33600 24 décembre 2014 à 16:04:07

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                                      24 décembre 2014 à 16:08:22

                                                      Et les erreurs ?
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                                                        24 décembre 2014 à 16:57:08

                                                        y'en a toujours

                                                                 void calculHEURES()
                                                                {
                                                                   nowMillis=millis()
                                                                   if(nowMillis-previousMillis >= 60000)



                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                                          24 décembre 2014 à 18:18:35

                                                          Bah écris les, sinon comment tu veux qu'on identifies le problème ? ^^
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke
                                                            24 décembre 2014 à 18:31:20

                                                            j'ai ecrit ca
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            Le téléviseur est un emballage rempli de produits. A l'intérieur, on trouve des détergents, des voitures, des appareils-photos, des céréales pour le petit déjeuner, d'autres téléviseurs. Ce ne sont pas les émissions qui sont interrompues par les publicités, mais le contraire. Un téléviseur est une forme électronique d'emballage. C'est aussi simple que cela. Sans les produits, il n'y a rien. La télévision éducative est une plaisanterie. Qui, en Amérique, voudrait regarder la télévision sans les publicités ?.Americana de Don DeLillo
                                                              25 décembre 2014 à 10:18:25

                                                              Ce dont j'ai besoin, c'est le message d'erreur que te sors le logiciel quand tu compiles.
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter
                                                              "On ne remplace pas des plombs sautés avant de savoir pourquoi ils ont sauté." 2001 l'odyssée de l'espace, Arthur C. Clarke

                                                              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