Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Arduino] Le langage

Sujet résolu
    3 février 2012 à 0:29:03

    Bonjour,

    Aujourd'hui, j'aimerais avoir plus de précision sur le langage de programmation utilisé avec Arduino.
    A première vue, le langage utilisé ressemble fâcheusement à du C. A première vue, c'est du C. C'est du C ? Si ce n'est pas du C, quelles sont les différences?
    Puis-je utiliser une bibliothèque C avec Arduino?
    Mais il paraîtrait que quelque part, cet Arduino utilise Java pour fonctionner.
    A quel niveau? Comment? Puis-je programmer Arduino en Java?
    Enfin, puis-je utiliser un autre langage pour programmer Arduino?

    Je trouve l'API d'Arduino de base un peu limité en possibilités. Par exemple : la fonction tone() n'accepte qu'une fréquence carré. Impossible d'avoir une fréquence triangulaire ou sinusoïdale. Ou encore, impossible de faire de la polyphonie.
    Du coup, j'aimerais trouver le moyen d'étendre le champ des possibles d'Arduino en gardant le contrôle.
    En d'autres termes, j'aimerais comprendre mieux comment se passe la gestion de la mémoire et des broches (entre autre).
    Oh, et quels différences entre les broches analogiques et digitales?

    Beaucoup de questions donc. Si vous pouvez m'aider à y voir plus clair, ce serait super.

    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      3 février 2012 à 12:24:30

      Citation : ogr

      Si ce n'est pas du C, quelles sont les différences?


      Pour ce qui est du langage, il est basé sur le langage "Wiring". Ça ressemble beaucoup à du JAVA (qui est un langage objet comparé à du C)

      Citation : ogr

      Puis-je utiliser une bibliothèque C avec Arduino?


      Non je ne crois pas

      Citation : ogr

      Mais il paraîtrait que quelque part, cet Arduino utilise Java pour fonctionner.


      L'IDE est basé sur Processing qui est lui-même basé sur JAVA

      Citation : ogr

      la fonction tone() n'accepte qu'une fréquence carré


      Rien ne t’empêche de l'étudier et de recréer une fonction tone qui répond à tes besoins.

      Citation : ogr

      quels différences entre les broches analogiques et digitales


      La réponse est dans la question ^^ une broche analogique permet de faire une sortie analogique alors que la broche digitale ne fera que des 0 ou 1 (partie du tuto en cours de relecture/correction)

      Voila j'espere que ca répond à une partie de tes interrogations :)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        3 février 2012 à 14:12:00

        Citation

        La réponse est dans la question ^^ une broche analogique permet de faire une sortie analogique alors que la broche digitale ne fera que des 0 ou 1 (partie du tuto en cours de relecture/correction)


        Si je puis me permettre de préciser ton propos : une broche analogique d'entrée permet la lecture d'une valeur comprise entre 0 et 5V. Tandis qu'une broche PWM (ou sortie analogique) délivre un signal carré de fréquence 500Hz environ avec un rapport cyclique qui varie. Avec ça on peut ensuite recréer un signal analogique proportionnel au rapport cyclique en utilisant un filtre moyenneur par exemple.


        Citation

        Puis-je utiliser une bibliothèque C avec Arduino?


        Eh bien il me semble que ce soit possible étant donné que l'on puisse entièrement coder un programme uniquement en C et que les bibliothèques d'arduino sont également en C. Bon, je ne m'avance pas trop car avec arduino, l'IDE est très souple visàvis du langage utilisé. Il faut chercher sur le site d'arduino ou sur internet, tu auras plus de résultats.
        • Partager sur Facebook
        • Partager sur Twitter
          3 février 2012 à 15:47:45

          Citation : Eskimon


          La réponse est dans la question ^^ une broche analogique permet de faire une sortie analogique alors que la broche digitale ne fera que des 0 ou 1 (partie du tuto en cours de relecture/correction)



          Dommage, le tuto n'est plus accessible en bêta. Du coup, je ne peux pas encore lire les parties non-validées...

          Citation : olyte

          Si je puis me permettre de préciser ton propos : une broche analogique d'entrée permet la lecture d'une valeur comprise entre 0 et 5V. Tandis qu'une broche PWM (ou sortie analogique) délivre un signal carré de fréquence 500Hz environ avec un rapport cyclique qui varie. Avec ça on peut ensuite recréer un signal analogique proportionnel au rapport cyclique en utilisant un filtre moyenneur par exemple.



          Il y a donc une différence entre l'entrée analogique et la sortie analogique.

          Est-ce que entrée et sortie analogique sont situées sur les même broches?
          Apparemment non :

          ici

          Citation

          Arduino offers PWM outputs which are controlled by the standard analogWrite()

          On most Arduino boards (those with the ATmega168 or ATmega328), this function works on pins 3, 5, 6, 9, 10, and 11. On the Arduino Mega, it works on pins 2 through 13. Older Arduino boards with an ATmega8 only support analogWrite() on pins 9, 10, and 11.



          Les entrées analogiques sont alors ce qu'on appelle broches analogiques?
          Avec ces broches analogiques, est-il possible de délivrer une valeur compris entre 0 et 5V ou est-ce obligatoirement du "faux" analogique?


          Citation : olyte

          Eh bien il me semble que ce soit possible étant donné que l'on puisse entièrement coder un programme uniquement en C et que les bibliothèques d'arduino sont également en C. Bon, je ne m'avance pas trop car avec arduino, l'IDE est très souple visàvis du langage utilisé. Il faut chercher sur le site d'arduino ou sur internet, tu auras plus de résultats.



          Apparemment.
          En fouillant un peu ici, il y a moyen de programmer en C sans passer par l'IDE.
          Voir ici
          Ce qui semble offrir un plus grand contrôle.

          Merci pour vos deux réponses :)
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            3 février 2012 à 16:01:23

            Citation

            Est-ce que entrée et sortie analogique sont situées sur les même broches?



            Non, car elles ne font pas la même chose.

            Citation

            Les entrées analogiques sont alors ce qu'on appelle broches analogiques?
            Avec ces broches analogiques, est-il possible de délivrer une valeur compris entre 0 et 5V ou est-ce obligatoirement du "faux" analogique?



            Non, les broches analogique d'entré permettent de lire une valeur analogique comprise entre 0 et 5V.

            Les sorties analogiques sont des PWM.
            • Partager sur Facebook
            • Partager sur Twitter
              3 février 2012 à 16:09:04

              Merci pour toutes ces précisions :)
              Bon, je mets le sujet en résolu. Mais je reviendrai (Mouhahahaha... hem) !
              • Partager sur Facebook
              • Partager sur Twitter
                3 février 2012 à 16:38:39

                Et désolé pour la fermeture de la beta... c'est un choix "editorial" de notre part (rédacteur tuto arduino). Nous avions peu de retour sur les parties en beta, alors on prefere maintenant vous laissez la surprise lors de la parution des nouveaux chapitres (mais si les gens veulent absolument le retour de la beta alors on pourra toujours en discuter :) )
                • Partager sur Facebook
                • Partager sur Twitter
                  3 février 2012 à 18:17:24

                  Je trouve toujours intéressant de voir à quoi ressemblera la suite d'un tutoriel, même si ce n'est pas parfait.
                  Et surtout, il y a souvent des informations intéressantes qui permettent d'avancer dans l'étude d'un sujet.
                  Donc personnellement, je suis favorable aux tutos en bêta. Ce qui ne veut pas dire que j’émettrai des commentaires constructifs suites à la lecture d'un tuto en bêta...
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    3 février 2012 à 20:09:57

                    Citation

                    même si ce n'est pas parfait.



                    Si tu as la moindre suggestion ou remarque à faire, n'hésites surtout pas !! On pourra de ce fait améliorer la qualité du tuto. :D
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 février 2012 à 23:30:37

                      Eh bien, si j'ai des commentaires à faire, je n'hésiterai pas.
                      La seule chose qui m'a gêné pour le moment est le fait que la liste du matériel à acheter au début du tuto ne suffit pas pour faire tous les essais que vous proposez. Il n'y a pas de mention des boutons poussoirs ni des fils électriques pour plaque d'essai par exemple.

                      Sinon, j'aime :D
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        4 février 2012 à 11:21:09

                        Citation

                        La seule chose qui m'a gêné pour le moment est le fait que la liste du matériel à acheter au début du tuto ne suffit pas pour faire tous les essais que vous proposez. Il n'y a pas de mention des boutons poussoirs ni des fils électriques pour plaque d'essai par exemple.



                        Oui, la liste est pas complète on le sait. Cependant, il y a un message qui indique de ne pas acheter la les composants de cette liste tout de suite car nous ne savons pas encore ce qu'il faut lui rajouter pour les autres TP, etc. Le mieux est d'attendre.

                        Au passage, il y a un message qui mentionne qu'il est nécessaire de disposer de fils électriques...

                        ;)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 mars 2012 à 14:16:12

                          Excusez-moi de ce petit hors-sujet, mais les bibliothèques d'Arduino ne sont-elles pas écrites en C++ ? Image utilisateur:-°
                          • Partager sur Facebook
                          • Partager sur Twitter
                          N'oubliez pas les +1 pour les messages qui vous ont aidés !
                          Anonyme
                            1 mars 2012 à 18:04:31

                            ça d"pend des librairies, il y en a en java aussi. Après je suis pas trop rentré dans le détail donc je ne peux en dire plus.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            [Arduino] Le langage

                            × 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