Quels langages de programmation sont pris en charge pour programmer Arduino?

17

Je voudrais commencer à jouer avec Arduino.

J'ai lu que C et C ++ sont les langues officielles mais j'ai aussi trouvé d'autres moyens de communiquer en utilisant Python ou Java par exemple.

Quels langages de programmation sont pris en charge pour programmer Arduino?
Existe-t-il des limitations en utilisant Python ou Java?

systempuntoout
la source
Pour des questions sur la programmation Arduino, veuillez consulter la carte StackExchange dédiée à Arduino .
Nick Alexeev

Réponses:

14

Mon conseil, restez avec le langage Arduino dérivé de C ++ ou utilisez du C / C ++ brut. Il est idéalement adapté aux microcontrôleurs. Mais si vous aimez les langues ésotériques:

Toby Jaffey
la source
J'ai lu que lorsque vous achetez un bouclier, il est généralement livré avec une bibliothèque C qui est utilisée pour l'interfacer avec le programme Arduino. Ces bibliothèques peuvent-elles également être importées dans les langues ésotériques proposées?
systempuntoout
4
Avec quelques travaux de portage, oui. Pour les langues interprétées, vous pouvez porter le pilote du bouclier dans l'interpréteur et ajouter des appels. Pour une langue compilée, vous pouvez ajouter le pilote du bouclier à l'exécution.
Toby Jaffey du
8

vous pouvez utiliser le langage que vous vous sentez plus à l'aise, alors vous pouvez chercher un moyen de compiler dans la machine à code arduino. Par exemple, j'utilise Go Lang et j'utilise gobot.io pour le faire fonctionner ...

Existez Cylon.js si vous souhaitez programmer en JavaScript ou Artoo pour les développeurs Ruby.

En fait, C est le plus courant car l'IDE de l'arduino fonctionne avec.

Careuno Merchan
la source
Non, C ++ est le plus courant.
Ignacio Vazquez-Abrams
la plus courante est C.
Careuno Merchan
Cela ressemble à C, mais c'est vraiment le sous-ensemble de type C de C ++. À titre de démonstration, essayez d'utiliser __flashdans un croquis Arduino. Cela ne fonctionnera pas car l'IDE Arduino utilise un compilateur C ++, tandis qu'un programme similaire utilisant le compilateur C se compilera correctement.
Ignacio Vazquez-Abrams
1

Vous êtes un peu confus. Je m'en tenir à l'environnement Arduino c / c ++ pour l'arduino. Java, Python, Processing sont utilisés sur le PC pour exécuter des communications avec l'arduino, ce ne sont pas des langages pour l'arduino. Une limitation pour eux est qu'ils ne fonctionnent pas sur l'arduino.

russ_hensel
la source
8
Je pense que c'est peut-être vous qui êtes confus. L'arduino n'exécute pas de code interprété, il est compilé. Le code peut être compilé à partir de n'importe quel langage de haut niveau doté d'un compilateur pour le matériel.
brianary
J'appuie @brianary, cette réponse est fausse et ne doit pas être acceptée pour éviter de dérouter les lecteurs. Les microcontrôleurs exécutent du code compilé tout comme les microprocesseurs, tout langage de haut niveau peut être utilisé si quelqu'un a pris la peine de créer un compilateur pour votre plate-forme. Certains langages comme Java et python ne sont pas nécessairement compilés et peuvent nécessiter un interprète, mais en tant que programme standard, quelqu'un peut en avoir créé un pour votre plate-forme.
Monsieur Mystère
Qui a dit que l'arduino exécute du code interprète. Bien sûr, l'arduino peut exécuter n'importe quelle langue pour laquelle il existe un compliant, mais il peut interpréter n'importe quel code que quelqu'un dérange pour écrire un interpréteur pour cela. Je n'ai pas recherché cela. Je viens de recommander de s'en tenir à l'environnement standard c / c ++, et j'ai noté qu'avec les communications, le PC pouvait exécuter un "langage PC".
russ_hensel
"si quelqu'un a pris la peine de faire un compilateur pour votre plateforme". la réponse clé. Malheureusement, l'environnement Arduino est C / C ++
Gabe Nemeth