Quels langages de programmation utilisez-vous pour Arduino ?
Quels langages de programmation utilisez-vous pour Arduino ?
Partagez votre expérience
Quels langages de programmation utilisez-vous pour Arduino ? Il y a quelques mois, nous nous sommes intéressés aux langages que vous utilisez pour le développement de systèmes embarqués. Le sondage à choix multiples a montré que les langages les plus utilisés sont respectivement C (46,97 %), C++ (31,82 %) et Assembleur (19,70 %). Arduino, le langage natif pour le microcontrôleur appelé du même nom ne vient qu’à la 8e place avec 4,55 %, en dépit du fait que la carte Arduino est aujourd’hui la base d'un grand nombre de dispositifs de fabrication et de prototypage.
Cela peut s’expliquer par le fait que le développement de systèmes embarqués Arduino n’est pas une exclusivité du langage natif de la plateforme. Il est en effet possible de programmer la carte Arduino en C/C++. En fait, vous le faites déjà dès que vous utilisez le langage Arduino, puisqu'il est simplement un ensemble de fonctions C/C++ qui peuvent être appelées à partir de votre code. Votre sketch (nom donné aux programmes écrits pour Arduino) subit des modifications mineures (par exemple, génération automatique de prototypes de fonctions), puis est transmis directement à un compilateur C/C ++ (avr-g ++).
Pour les programmeurs confirmés, le langage C/C++ qui est traditionnellement utilisé pour programmer les microcontrôleurs peut être la solution la plus performante pour programmer une carte Arduino. Cela dit, on peut également vouloir utiliser un langage de programmation qu'on maitrise déjà pour ne pas avoir à apprendre un nouveau langage pour programmer la carte Arduino.
Si vous ne pouvez pas écrire du C/C++, il est possible d’utiliser un langage interprété soit directement sur la carte, soit sur un autre ordinateur qui communique avec Arduino. Il existe en effet quelques implémentations de langages interprétés pour l'Arduino, y compris plusieurs ports de Forth sur Arduino, un port de Tiny BASIC, PyMite (un sous-ensemble de Python), et un langage dédié appelé Bitlash. Ces langages peuvent être exécutés directement sur Arduino.
Cependant, la plupart des langages de script dynamiques modernes sont trop complexes pour tenir dans la RAM et la mémoire de programme très limitées de l'Arduino. Les langages qui entrent dans cette catégorie sont : Java, PHP, Perl, Batch, Shell, Ruby, JavaScript, TCL, Python. Vous pouvez utiliser ces langues pour communiquer avec Arduino, mais en général, le code dans ces langages ne fonctionnera pas directement sur la carte.
Il faut aussi noter qu'il est possible de convertir les langages interprétés en bytecode qui peuvent fonctionner sur Arduino si vous avez le bon ensemble de compilateurs, éditeurs de liens et de bibliothèques. Mais c'est en général une tâche non triviale avec une utilité limitée. Autrement dit, vous pourrez utiliser un langage que vous maitrisez le plus pour Arduino, mais avec les limitations qui l'accompagnent.
Nous voulons donc à travers ce nouveau sondage à choix multiples savoir si vous avez déjà programmé pour Arduino. Si oui, dans quels langages et pourquoi ? Quels avantages et inconvénients trouvez-vous à ces langages ?
:fleche: Puis-je exécuter un langage interprété sur l'Arduino ? Je ne peux pas écrire du C ou C++ (Site officiel Arduino)
:fleche: FAQ Arduino
Et vous ?
:fleche: Avez-vous déjà programmé une carte Arduino ?
:fleche: Si oui, quels langages de programmation utilisez-vous (ou avez-vous utilisés) ?
:fleche: Partagez votre expérience : difficultés, avantages, etc.
Voir aussi :
:fleche: Forum Arduino sur Developpez.com et rubrique Systèmes embarqués
Basic- bascom pour Arduino
J'utilise le compilateur Basic Bascom pour les arduino 8bits, malheureusement il n'est pas disponible pour les autres arduino
l’intérêt du Basic par rapport au speudoC Arduino est qu'il appelle un chat un chat, je m'explique:
- les noms des ports du microcontrôleur sont les noms utilisés par AVR exemple pinc.0 est l'entrée 0 du port C est non A0 comme indiqué chez Arduino qui voudrait que les ports analogiques soient réservés à l'ADC
alors que les AVR sont très versatiles, toutes les broches peuvent être I/O binaires.
- les bibliothèques sont écrites en assembleur donc très rapide par rapport aux bibliothèques Arduino écrites en C
-la compilation donne des fichier .bin ou .hex les "point bin" sont beaucoup plus compact.
- l'IDE Bascom parle de programme et pas de sketch, on ne fait pas du théatre ! On voudrait nous faire croire que la programmation d'Arduino est un jeu, sans connaissance des bases de l’électronique ce qui est une grosse co...rie !
les includes sont très pratiques en plus des lib
l'IDE permet de transférer directement le programme compilé dans le µC sans utiliser Dude ni les studio AVR (usine à gaz monstrueuse)
Enfin j'ai fait un tuto en français avec exemple etc..
JP