Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arduino et déclaration de constante

Sujet résolu
Anonyme
    6 novembre 2013 à 15:54:16

    bonjour ,

    Je veux allumer 6 led , et après déclaration dans une fonction , je ne trouve pas comment passer des constantes . Est ce possible ?

    int led1 = 1;
    int led2 = 2;
    int led3 = 3;
    int led4 = 4;
    int led5 = 5;
    int led6 = 6;
    char Y='HIGH';
    char N='LOW';
    
    void setup() {                
      // Init des sorties 
      pinMode(led1, OUTPUT);
      pinMode(led2, OUTPUT);
      pinMode(led3, OUTPUT);
      pinMode(led4, OUTPUT);
      pinMode(led5, OUTPUT);  
      pinMode(led6, OUTPUT);  
    }
    
    void allume_arbre(char b1 ,char b2 ,char b3 ,char b4,char b5 , char b6) {
      // Commande HIGH ou LOW
      digitalWrite(led1, b1);    // HIGH ou LOW led1
      digitalWrite(led2, b2);    // HIGH ou LOW led2
      digitalWrite(led3, b3);    // HIGH ou LOW led3
      digitalWrite(led4, b4);    // HIGH ou LOW led4
      digitalWrite(led5, b5);    // HIGH ou LOW led5
      digitalWrite(led6, b6);    // HIGH ou LOW led6
    }
    
    

    Après cela ne passe par avec Y et N

    void loop() {
      // test
      allume_arbre(Y,Y,N,N,N,N);
      delay(1000);
      allume_arbre(LOW,LOW,LOW,LOW,LOW,LOW);
      delay(1000);
    }
    





    • Partager sur Facebook
    • Partager sur Twitter
      6 novembre 2013 à 16:33:24

      en meme temps pour Arduino ca veut dire quoi Y et N ? Lui il en sait rien !! J'avais pas vu le char Y = "HIGH"...

      En fait tu confonds HIGH et "HIGH". Le premier est une constante, le deuxième est une chaîne de caractère

      Tu peux faire un define en début de programme genre :

      define Y HIGH
      define N LOW
      

      -
      Edité par Eskimon 6 novembre 2013 à 16:36:18

      • Partager sur Facebook
      • Partager sur Twitter

      Retrouvez moi sur mon blog et ma chaine Youtube !

      Anonyme
        6 novembre 2013 à 19:28:09

        J'ai lu que const est préférable à define :

        const Y='HIGH'

        Est ce équivalent ?

        • Partager sur Facebook
        • Partager sur Twitter
          6 novembre 2013 à 19:54:09

          Perso, je préfère utiliser les define, je trouve c'est plus propre !

          const Y='HIGH'

          c'est bien mais tu ne donnes le type de ta variable !

          const char Y='HIGH'




          • Partager sur Facebook
          • Partager sur Twitter
          Faites un tour sur www.nawrasg.fr :)
            6 novembre 2013 à 20:11:38

            nawrasg a écrit:

            Perso, je préfère utiliser les define, je trouve c'est plus propre !

            const Y='HIGH'

            c'est bien mais tu ne donnes le type de ta variable !

            const char Y='HIGH'


            c'est bien beau votre truc, mais il ne faut pas que ça soit un char. au mieux tu peux lui donner HIGH dans un const boolean, sans guillemets, ni apostrophes, donc il faut enlever les guillemets. déjà.

            ensuite, un #define a une portée plus grande, parce que c'est une directive préprocesseur, et que du coup elle concerne l'ensemble du programme (plusieurs fichiers), tandis que le const ne sera appliqué que dans le fichier dans lequel il est utilisé. (enfin ça c'est ce que je me rappelle de mes cours. en vrai je me sers jamais de const. c'est pas beau :D )

            -
            Edité par remace 6 novembre 2013 à 20:13:46

            • Partager sur Facebook
            • Partager sur Twitter

            oui. non. enfin je regarde et je te dis.

            Anonyme
              6 novembre 2013 à 20:41:24

              @remace :

              Ok , sans les '' c'est bon

              #define

              Alors je peux essayer avec :

              #define Y HIGH
              #define N LOW
              :magicien:
              • Partager sur Facebook
              • Partager sur Twitter
                7 novembre 2013 à 0:26:11

                Oui mais en fait t'es en train de dire :

                Y = HIGH = 1

                N = LOW = 0

                Personnellement je ne vois pas l'utilité. HIGH et LOW sont des constantes claires et déjà définies, pourquoi réinventer des constantes "Y" (pour Yes ?) et "N" (pour No ?) qui risquent de ne pas être très claires.

                Oui utiliser seulement HIGH et LOW te fera faire un petit peu de gymnastique intellectuelle pour comprendre que dans ton allume_arbre HIGH = Yes et LOW = no mais au bout d'une heure sur ton code tu n'aura plus le problème.
                • Partager sur Facebook
                • Partager sur Twitter
                  7 novembre 2013 à 10:11:16

                  abuche a écrit:

                  @remace :

                  Ok , sans les '' c'est bon

                  #define

                  Alors je peux essayer avec :

                  #define Y HIGH
                  #define N LOW
                  :magicien:
                  tu peux. mais comme l'a dit zeql avant moi, ça sert a rien.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  oui. non. enfin je regarde et je te dis.

                  Anonyme
                    7 novembre 2013 à 10:54:26

                    ok - c'est pour gagner un peu de vitesse dans le codage - A ce propos , comment créer une librairie de fonction pour des leds ?

                    Je veux créer différentes animations lumineuses avec led , et le mixage ira mieux avec une ou plusieurs librairies ...

                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 novembre 2013 à 10:57:20

                      sauf qu'Y c'est comme 1 et N c'est comme 0. et du coup tu perds déjà pas de temps.

                      pour les librairies, je sais pas.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      oui. non. enfin je regarde et je te dis.

                      Anonyme
                        7 novembre 2013 à 14:01:55

                        ok - pour les librairies , c'est faisable avec un os >>

                        Linux

                        -
                        Edité par Anonyme 7 novembre 2013 à 14:02:21

                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 novembre 2013 à 15:52:10

                          abuche a écrit:

                          ok - pour les librairies , c'est faisable avec un os >>

                          Linux

                          -
                          Edité par abuche il y a environ 1 heure


                          non? à la limite des fichiers .C et .h par côté... enfin je sais pas trop comment ça marche au niveau de l'éditeur arduino, mais... dans processing (le logiciel qui a servi de base pour l'ide arduino), tu peux faire ça dans par onglets...
                          • Partager sur Facebook
                          • Partager sur Twitter

                          oui. non. enfin je regarde et je te dis.

                          Anonyme
                            7 novembre 2013 à 18:59:20

                            ok -Processing  est beaucoup plus large en capacité,  que les commandes basique de arduino :

                            - capture de flux vidéo

                            - reconnaissance d'objet

                            Les objets sont des instances de classe de librairies

                            • Partager sur Facebook
                            • Partager sur Twitter
                              7 novembre 2013 à 19:06:29

                              abuche a écrit:

                              ok -Processing  est beaucoup plus large en capacité,  que les commandes basique de arduino :

                              - capture de flux vidéo

                              - reconnaissance d'objet

                              Les objets sont des instances de classe de librairies


                              hein? par pitié quand tu t'exprime, fais des phrases entières...

                              processing c'est un truc pour faire des applications PC, tu n'as aucun intérêt à t'en servir pour faire de l'arduino avec. un objet est une instance de classe. c'est tout. la librairie c'est là ou tu code des classes , c'est tout.

                              d'ailleurs on peut coder en POO sur arduino? ça m'étonnerait...

                              -
                              Edité par remace 7 novembre 2013 à 19:07:26

                              • Partager sur Facebook
                              • Partager sur Twitter

                              oui. non. enfin je regarde et je te dis.

                                7 novembre 2013 à 19:07:15

                                Processing ca tourne sur un PC, pas sur une Arduino hein...

                                Ce que remace voulait dire c'est que vu que le logiciel est similaire, tu dois pouvoir créer des librairies tout pareil (et la réponse est : oui)

                                Grillé mais complement pour remace : C'est surprenant mais oui, on fait de l'objet sur Arduino

                                -
                                Edité par Eskimon 7 novembre 2013 à 19:08:13

                                • Partager sur Facebook
                                • Partager sur Twitter

                                Retrouvez moi sur mon blog et ma chaine Youtube !

                                Anonyme
                                  7 novembre 2013 à 21:41:42

                                  Processing , c'est il me semble multi-plateforme . ( est ce une phrase ? ) :

                                  http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.OUTILSProcessing#toc29

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    7 novembre 2013 à 22:07:45

                                    Ouai, enfin multi-plateforme pour les PC, pas pour les tout petit microcontrolleur 8 bits hein.

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Retrouvez moi sur mon blog et ma chaine Youtube !

                                      7 novembre 2013 à 22:36:02

                                      UNE PHRASE!!!! ENFINNNNNNNNN (non je troll :D ) plus sérieusement, tu poste souvent, et quand on te lit on passe plus de temps à comprendre ce que tu demande/dis qu'à chercher des éléments de réponse et rédiger la réponse. sachant que ta réponse fait rarement plus de 2 lignes, c'est quand même un peu gênant quoi. enfin je sais pas reprends un post un peu vieux et mets toi à notre place, tu comprendras pourquoi on a du mal à te suivre (celui de quand t'as reçu ta carte raspberry Pi, que tu voulais faire un serveur d'acquisition pour ceinture cardio là, par exemple, et essaie de comprendre ce que tu voulais à chaque réponse) EDIT: j'ai choisi le seul topic ou t'étais relativement clair
                                      pour reprendre ta question, non, processing n'est pas destiné à programmer directement sur arduino. sinon les mecs d'arduino ne se seraient pas fait c** à faire leur propre éditeur... (et je ne sais pas sur quoi pointe ton lien, mais on ne voit que des applications PC dessus.

                                      -
                                      Edité par remace 7 novembre 2013 à 22:47:19

                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      oui. non. enfin je regarde et je te dis.

                                      Anonyme
                                        7 novembre 2013 à 23:50:08

                                        C'est bien de vouloir donner des réponses les plus précises . Mais il vous plait aussi " d'ergoter" sur des détails .

                                        Je découvre Arduino et l'IDE est dérivé de processing et n'est pas processing .

                                        Les appli PC , montre que Arduino permet des tracés de data par la liaison série . ( Ce que je ne savais pas )

                                        Pour la domotique , qui est le détour qui m'a fait venir sur ce forum , je vois que beaucoup de question font

                                        référence à des kits ou robots existants déjà . Mon but n'étant pas de devenir formateur ou enseignant , toutes

                                        mes futures interrogations vont facilement trouver réponses dans des catalogues papier que j'ai reçu ..

                                        Pour RSpi qui est dérivé de Linux , que je connais déjà  , je n'ai aucune question à poser .

                                        :zorro:

                                        -
                                        Edité par Anonyme 7 novembre 2013 à 23:52:46

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          8 novembre 2013 à 0:08:25

                                          Attends j'comprends plus rien... En fait depuis tout à l'heure tu ne poses pas de questions, tu fais juste des affirmations à droite à gauche en te servant du forum comme calepin de prises de notes ?

                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          Retrouvez moi sur mon blog et ma chaine Youtube !

                                            8 novembre 2013 à 0:25:42

                                            "Je découvre Arduino et l'IDE est dérivé de processing et n'est pas processing ." > oui.

                                            "Les appli PC , montre que Arduino permet des tracés de data par la liaison série . ( Ce que je ne savais pas )" -> tuto du site

                                            "Pour la domotique , qui est le détour qui m'a fait venir sur ce forum , je vois que beaucoup de question font référence à des kits ou robots existants déjà . Mon but n'étant pas de devenir formateur ou enseignant , toutes mes futures interrogations vont facilement trouver réponses dans des catalogues papier que j'ai reçu ..." sympa la domotique, et en effet, sur des sites comme ici où "on part de zéro" (ancienne devise du site), les gens qui le fréquentent tournent souvent sur du matériel adapté à des néophites, donc les kits arduino et Cie sont presque plébiscités (qui ne sont pas mauvais pour autant, d'ailleurs, mais pour faire des choses vraiment précises en sachant que t'es limite côté puissance de calcul, c'est vraiment chaud d'optimiser derrière, par rapport à une platine "pour utilisateur plus avancé")...

                                            "Pour RSpi qui est dérivé de Linux , que je connais déjà, je n'ai aucune question à poser ." dommage c'est vraiment intéressant ces cartes là, comme support "intelligent" pour la domotique (serveur, puissance de calcul, possibilité de commande multiples, et j'en passe). (d'ailleurs je risque de venir te demander 2-3 conseils bientôt à propos de ton thermometre.)

                                            Eskimon a écrit:

                                            Attends j'comprends plus rien...
                                            En fait depuis tout à l'heure tu ne poses pas de questions, tu fais juste des affirmations à droite à gauche en te servant du forum comme calepin de prises de notes ?


                                            haha oui, bien vu^^

                                            -
                                            Edité par remace 8 novembre 2013 à 0:27:45

                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            oui. non. enfin je regarde et je te dis.

                                              8 novembre 2013 à 10:13:32

                                              TL;DR : y en a pas, faut tout lire.

                                              - Processing est un langage et un environnement de développement open-source pour les ordinateurs personnels et compatible Windows, Mac et Linux.

                                              http://fr.wikipedia.org/wiki/Processing )

                                              - Arduino est à la base une carte électronique basée sur un microcontroleur Atmel et dont le langage et l'environnement de développement sont dérivés de Processing, c'est pour cela qu'il y a une forte ressemblance.

                                              Si tu connais la Raspberry Pi et Linux, si tu compile un programme linux sur ton PC x86 et que tu l'importe sur la Raspberry Pi, qui a une architecture ARM, il ne fonctionnera pas, il faut que tu le compile pour l'architecture ARM.

                                              Pour l'Arduino c'est pareil, Processing est fait pour du x86 on va dire (il se base sur Java donc c'est un peu plus compliqué) et pour l'Arduino c'est compilé pour l'architecture du microcontroleur Atmel.

                                              Concernant le projet qui permet de tracer des courbes sur un PC avec une Arduino, j'ai fais un projet de "radar infrarouge" où justement j'ai une Arduino qui contrôle une structure avec des capteurs infrarouges, les données sont transmises via liaison série au PC et j'affiche, grâce à un programme Processing les données reçues.

                                              Mais j'ai bien 2 programmes distincts : 1 programme Arduino qui va gérer mon système de tourelle tournante et les capteurs infrarouges et 1 programme Processing, sur le PC, qui va se charger d'afficher les données sous forme d'un "radar". Les deux programmes n'ont en commun que la liaison série : l'Arduino envoie les données vers le PC (et pas le programme Processing en particulier), et le programme Processing lit ce qui est reçu sur le port série et récupère les données pour les afficher.

                                              Mon projet est disponible ici : http://www.ece.fr/~fau/PSTE2/index.html  Tu verras qu'il y a 2 codes sources : 1 pour l'arduino et 1 pour processing.

                                              Quant au fait d'ergoter sur les détails, bah si on répond à tes questions, on a le droit aussi de discuter de façon un peu plus avancée, un forum c'est public, de même que ton post, si tu ne veux pas jouer le jeu, bah prend un professeur particulier qui te répondra personnellement et lui dit de te donner juste les informations de base et de ne pas essayer de t'apprendre plus de choses.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Anonyme
                                                8 novembre 2013 à 11:06:34

                                                Un zorro anonyme  ne va pas porter plainte .

                                                Pour le thermomètre , il n'est pas embarqué et fixe .

                                                Je vais faire quelques copie d'écran , vu que je ne vois pas où est la difficulté .

                                                CP ECRAN >> .. http://arbre.abuche.free.fr/therm/

                                                -
                                                Edité par Anonyme 8 novembre 2013 à 12:25:03

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  8 novembre 2013 à 11:10:08

                                                  non mais moi c'est plutôt en lien avec la prog sur R-PI, mais comme j'ai pas encore la carte correspondante, ça peut attendre... je ferai un topic et je t'enverrai un lien en MP à ce moment là :)

                                                  -
                                                  Edité par remace 8 novembre 2013 à 11:13:21

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  oui. non. enfin je regarde et je te dis.

                                                    8 novembre 2013 à 11:12:43

                                                    abuche a écrit:

                                                    Un zorro anonyme  ne va pas porter plainte .

                                                    Pour le thermomètre , il n'est pas embarqué et fixe .

                                                    Je vais faire quelques copie d'écran , vu que je ne vois pas où est la difficulté .


                                                    Tout est dit : http://www.youtube.com/watch?v=wbby9coDRCk
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Arduino et déclaration de constante

                                                    × 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