Au niveau logiciel, l'environnement de programmation Arduino présente l'avantage d'être open source (donc gratuit) et multiplateforme (Windows, Linux et Mac OS X). Il est utilisé par une large communauté et donc de nombreux exemples sont disponibles.
Au niveau matériel, il existe différentes "cartes mères" (nous utiliserons l'Arduino UNO) sur lesquelles vont venir se connecter des cartes d'extensions appelées shields. La photo ci-contre montre une carte Arduino UNO avec 2 shield dessus. Il existe une très grande variété de shield (WiFi, Ethernet, Commandes de moteurs, GPS, GSM, écrans, ...)
La "carte mère" est composée de deux parties principales : le microcontrôleur et le module de communication USB qui permet de programmer le microcontrôleur depuis un PC (pas besoin de programmateur). Le port USB permet également d'alimenter la carte (à condition que la consommation ne dépasse pas ce que peut fournir un port USB). Un connecteur d'alimentation supplémentaire est prévu.
L'installation de l'environnement, présentée ci-dessous, se fait en deux étapes :
Le logiciel se télécharge sur le site officiel de l'Arduino.
Il est présenté en deux versions :
Ce tutoriel a été réalisé avec la version portable 1.0.5 de l'IDE (Integrated Development Environment)
Pour installer la version portable, il suffit de "dézipper" l'archive à un endroit quelconque (disque dur, clé USB,...)
Pour installer les drivers USB, connecter la carte Arduino UNO à votre ordinateur. Windows va tenter d'installer (mais sans succès) les drivers via Windows Update.
Il faut donc faire une installation manuelle des drivers :
Dans la fenêtre des propriétés système, cliquer en haut à gauche sur "Gestionnaire de périphériques".
Dans le gestionnaire de périphériques, faire un clic droit sur "Périphérique inconnu" et cliquer sur "Mettre à jour le pilote...".
L'installation est terminée, noter le numéro du port COM correspondant à votre carte Arduino (COM3 sur les captures d'écran).
Vous pouvez maintenant directement passer à la configuration de l'EDI
Si vous utilisez Ubuntu, voici comment installer l'environnement Arduino sur votre distribution préférée.
Pour lancer l'EDI, taper "arduino"
Le système doit ajouter votre nom d'utilisateur dans le groupe autorisé à utiliser les ports USB ou série. Cliquer sur "Add". Vous devez vous déconnecter et vous reconnecter pour que les modifications prennent effet.
Pour lancer l'EDI, taper "arduino &"
Le "&" à la fin de la commande permet d'ouvrir l'EDI dans un nouveau processus et donc de "rendre la main" dans le terminal, de plus si on ferme le ternimal, l'EDI ne sera pas fermé.
Ouvrir l'EDI et vérifier la configuration du port COM pour la communication avec la carte Arduino.
EDI : Environnement de Développement Intégré (IDE en Anglais), c'est un logiciel permettant d'éditer un programme et qui intègre en plus des fonctions permettant de compiler ce programme, la coloration syntaxique, l'accès à la référence du langage, le téléversement du programme compilé dans l'Arduino,...
Si nécessaire, modifier le port COM en allant dans le menu "Outils" => "Port série".
Il faut mettre le même port COM que celui relevé lors de l'installation du driver (voir partie "Installation du driver USB").
Si vous utilisez une autre carte que l'Arduino UNO, modifier le type de carte en allant dans le menu "Outils" => "Type de carte".
Voila ! Vous êtes prêt pour faire votre premier programme !
Pour commencer, nous allons ouvrir un des nombreux exemples fournis avec l'IDE.
Ouvrir le fichier exemple "blink" :
Menu "Fichier" => "Exemples" => "01.Basics" => "Blink"
Vérifier que la carte Arduino est bien connectée à l'ordinateur et cliquer sur l'icône en forme de flèche comme indiqué ci-contre afin de compiler et charger le programme dans la mémoire du microcontrôleur.
La DEL "L" sur la carte Arduino doit clignoter lentement 1s/1s.
Dans les dernières lignes du programme, remplacer les 2 lignes "delay(1000);" par "delay(300);". Recharger le programme dans la carte. La DEL doit clignoter plus rapidement.
"delay()" est une des fonctions du langage. Toutes les fonctions sont décrites dans la référence du langage. Elle est accessible dans le menu Aide => Référence.
Rechercher dans la référence du langage le rôle des fonctions delay(), pinMode() et digitalWrite() utilisées dans ce programme de démonstration.
Les valeurs entre parenthèse séparées par des virgules après le nom de la fonction sont des paramètres. Nous pouvons donc voir que la fonction delay() possède un seul paramètre alors que la fonction digitalWrite en possède deux.
Quelle est l'unité du paramètre de la fonction delay() ?
Dans le programme, il y a de nombreux commentaires. Ils n'ont aucune influence sur l'exécution du programme. Ils servent à rendre le programme plus compréhensible. Ils apparaissent en gris sur la capture d'écran ci-dessous.
Ils débutent :
Si l'on met en parallèle le programme avec son algorigramme, on peut constater que le programme est composé de 3 parties distinctes. Un programme Arduino aura toujours cette structure.
En cherchant dans la référence du langage, indiquer entre quelles valeurs peut varier une variable de type int.
Chercher et citer 2 autres types de variable en donnant un exemple de déclaration et d'initialisation.
Il est possible de faire un algorigramme plus détaillé de la fonction loop() comme le montre la figure ci-dessous.
Sur le plan de la carte Arduino UNO on peut voir sur la droite que le repère "13" correspond au repère "SCK". On retrouve ce repère "SCK" en haut du plan qui commande la DEL L par l'intermédiaire du montage suiveur réalisé par U5B.
Lien vers le plan complet de la carte Arduino UNO.
Article connexe : Arduino - Ports, CAN et Console