Les langages de programmation
L’IDE, le programme officiel
L’IDE (Integrated Development Environment) Arduino que l’on pourrait traduire par Environnement de développement intégré est né en même temps que l’Arduino. C’est une évolution de Wiring et de Processing (d’autres langages écrits sous licences libres avant la création de l’Arduino). Le langage Arduino est très proche des langages C et C++ auxquels s’ajoutent les fonctions des nombreuses bibliothèques (libraries) Arduino.
Il est écrit en Java (un langage de programmation multiplateforme), ce qui permet un portage facile et une interface quasiment identique, quel que soit votre système d’exploitation.
L’IDE Arduino permet de regrouper dans le même outil les programmes nécessaires au pilotage de la carte. Il comprend un éditeur de texte, un débogueur/compilateur, une interface permettant de gérer les ports COM et le type de carte. De plus, il fournit de nombreux exemples, installe automatiquement les drivers les plus courants, simplifie l’installation des bibliothèques (ou des nouvelles cartes) et assure ensuite la communication avec l’Arduino (téléversement et moniteur série).
1. Téléchargement et installation
Pour télécharger la dernière version de l’IDE, allez sur le site officiel Arduino, et sélectionnez l’onglet SOFTWARE : https://www.arduino.cc/en/Main/Software
Choisissez la version correspondant à votre système d’exploitation.
Page de téléchargement de l’IDE Arduino
Et cliquez sur DOWNLOAD.
Lancement du téléchargement
a. Windows
L’IDE Arduino est disponible en deux versions.
Si vous disposez des droits d’administrateur (surtout si c’est la première fois que vous installez l’IDE Arduino sur cet ordinateur), choisissez plutôt la version Windows Installer, car elle installe automatiquement les drivers (pilotes) des cartes Arduino les plus courantes.
Mais si cela ne fonctionne pas, si vous voulez faire cohabiter plusieurs versions de l’IDE Arduino, s’il s’agit d’une mise à jour ou si vous préférez utiliser un support amovible (clé USB ou disque dur externe, vous pouvez opter pour la version Windows...
Programmation par blocs
Au lieu d’apprendre un langage avec une syntaxe exigeante (afin d’écrire des lignes de code), vous déplacez des gros blocs de code colorés avec la souris. L’interface est très intuitive et les résultats très rapides.
Le principe de la programmation par blocs repose sur la transcription d’un organigramme de programmation (logigramme). Cette approche (popularisée par Scratch) convient parfaitement aux enfants et aux débutants. Ce type de langage est donc beaucoup utilisé en milieu scolaire.
L’organigramme de programmation et le code du site Vittascience
1. Scratch
Scratch n’a pas été conçu pour programmer directement l’Arduino. Cependant, il est quand même possible d’ajouter des extensions pour piloter en temps réel un Arduino (en lui envoyant des instructions par le câble USB).
Pour cela, il faut au préalable téléverser un sketch spécifique dans la mémoire de l’Arduino avec l’IDE (cette opération n’est à réaliser qu’une seule fois). Ensuite, vous devez lancer un programme spécifique pour permettre à Scratch de communiquer avec l’Arduino. Bien sûr, l’Arduino doit toujours rester relié à l’ordinateur.
Pour faciliter la configuration de Scratch, il existe des solutions comme S4A (Scratch for Arduino) que vous pouvez télécharger à cette adresse : http://s4a.cat/
Contrôle de l’Arduino avec...
Les bibliothèques (libraries)
Ce sont des fichiers qui rajoutent des fonctions au langage de programmation de l’IDE Arduino. Certaines sont préinstallées dans l’IDE, mais il est aussi possible d’en installer de nouvelles.
Pour cela, allez dans Croquis - Inclure une bibliothèque - Gérer les bibliothèques. Vous pouvez rechercher la bibliothèque, l’installer ou la mettre à jour.
Le gestionnaire de bibliothèque
Si vous ne la trouvez pas dans la liste, mais que vous l’avez trouvée sous forme de fichier ZIP sur Internet, utilisez l’ancienne méthode (avant la version 1.6 de l’IDE).
Sélectionnez Croquis - Inclure une bibliothèque - Ajoutez la bibliothèque .ZIP... puis indiquez à l’IDE le chemin pour accéder au fichier contenant la bibliothèque, afin qu’il puisse l’installer.
Pour utiliser les nouvelles fonctions, il faut indiquer au début du programme que l’on a besoin de la bibliothèque. Voici un exemple d’inclusion d’une bibliothèque nommée MaBibliotheque (il est important de respecter la syntaxe).
#include <MaBibliotheque.h>
Normalement, la traduction française de library (le nom anglais) est bibliothèque. Mais il est parfois tentant de traduire library par librairie. C’est une erreur, mais ce n’est pas très...
Déboguer mon programme
Un bug (ou bogue en français) désigne un problème dans le fonctionnement normal d’un programme. Il est apparu en même temps que l’informatique.
Les premiers ordinateurs étaient très gros. Ils pesaient plusieurs tonnes, consommaient énormément d’électricité et chauffaient beaucoup. Les composants étaient donc à l’air libre pour un meilleur refroidissement. La légende dit que parfois, des insectes (bugs en anglais) attirés par la chaleur s’approchaient. Cela pouvait causer des courts-circuits et provoquer des dysfonctionnements. Par la suite, les informaticiens auraient (pour plaisanter) continué à attribuer les erreurs dans les programmes informatiques à des insectes virtuels qui viendraient perturber le fonctionnement normal.
Beaucoup de bugs sont causés par la différence de fonctionnement entre le cerveau humain et l’ordinateur (ou l’Arduino dans notre cas).
Par exemple, le langage de programmation de l’Arduino (basé sur le C et le C++) oblige à terminer chaque instruction par un point virgule. Si vous oubliez un point-virgule dans le programme, l’humain qui relit le programme peut s’adapter, car il comprend les instructions (peut-être qu’il ne remarque même pas l’erreur), mais l’ordinateur est incapable...
L’optimisation du code
En programmation, il y a souvent plusieurs façons d’arriver au même résultat. Votre code est aussi personnel que n’importe quel texte écrit. Il reflète votre façon de penser. Il est important de se l’approprier. C’est votre Arduino, c’est votre code. Mais dans tous les langages, il y a des règles à respecter. Et les personnes qui les maîtrisent sont plus performantes.
L’optimisation du code, c’est cela ; la recherche d’un code le plus efficace possible.
D’après certaines définitions, le meilleur code est le plus concis, celui qui permet d’arriver au même résultat avec moins de lignes de code.
Mais il faut aussi éviter au microcontrôleur les traitements inutiles, cf. chapitre Premiers sketchs - Les sorties analogiques - La condition if (si).
Pensez également à économiser la faible quantité de mémoire vive que possède l’Arduino. Par exemple, privilégiez les variables locales aux variables globales et utilisez des constantes si la variable ne change jamais, cf. chapitre Premiers sketchs - Faire du Morse avec une LED externe - Les variables et les constantes.
Ne négligez pas non plus la lisibilité du code, n’hésitez pas à :
-
sauter une ligne entre deux parties pour créer des paragraphes...