Main

Débuter avec Arduino : Introduction |Materiel | Logiciel | Installation | Langage Arduino | Dépannage

A DECOUVRIR : Ateliers Arduino
des supports PDF didactiques pour apprendre et approfondir Arduino pas à pas !

Déjà plusieurs centaines de pages de supports PDF en ligne !

NOUVEAU : Pyduino
la librairie qui vous permet de programmer un miniPC (RaspberryPI, pcDuino,..)

... comme une carte Arduino... et bien plus encore !
Vous en avez rêvé ? www.mon-club-elec.fr l'a fait !

Nouveau : Découvrez nos kits de machines opensource et notre nouveau site dédié !

Le Logiciel Arduino : Espace de développement Intégré (EDI) Arduino


Voir également la page consacrée au téléchargement et à l'installation

1.  Description

Le logiciel Arduino a pour fonctions principales :

  • de pouvoir écrire et compiler des programmes pour la carte Arduino
  • de se connecter avec la carte Arduino pour y transférer les programmes
  • de communiquer avec la carte Arduino

Cet espace de développement intégré (EDI) dédié au langage Arduino et à la programmation des cartes Arduino comporte :

  • une BARRE DE MENUS comme pour tout logiciel une interface graphique (GUI),
  • une BARRE DE BOUTONS qui donne un accès direct aux fonctions essentielles du logiciel et fait toute sa simplicité d'utilisation,
  • un EDITEUR (à coloration syntaxique) pour écrire le code de vos programme, avec onglets de navigation,
  • une ZONE DE MESSAGES qui affiche indique l'état des actions en cours,
  • une CONSOLE TEXTE qui affiche les messages concernant le résultat de la compilation du programme

Le logiciel Arduino intègre également :

  • un TERMINAL SERIE (fenêtre séparée) qui permet d'afficher des messages textes reçus de la carte Arduino et d'envoyer des caractères vers la carte Arduino. Cette fonctionnalité permet une mise au point facilitée des programmes, permettant d'afficher sur l'ordinateur l'état de variables, de résultats de calculs ou de conversions analogique-numérique : un élément essentiel pour améliorer, tester et corriger ses programmes.

2.  Principe général d'utilisation

Le code écrit avec le logiciel Arduino est appelé un programme (ou une séquence - sketch en anglais) :

  • Ces programmes sont écrits dans l'éditeur de texte. Celui-ci a les fonctionnalités usuelles de copier/coller et de rechercher/remplacer le texte.
  • la zone de messages donne l'état de l'opération en cours lors des sauvegardes, des exportation et affiche également les erreurs.
  • La console texte affiche les messages produit par le logiciel Arduino incluant des messages d'erreur détaillés et autres informations utiles.
  • la barre de boutons vous permet de vérifier la syntaxe et de transférer les programmes, créer, ouvrir et sauver votre code, et ouvrir le moniteur série.
  • la barre des menus vous permet d'accèder à toutes les fonctionnalités du logiciel Arduino.

3.  Description de la barre des boutons

Vérifier/compiler : Vérifie le code à la recherche d'erreur.

Stop : Stoppe le moniteur série ou les autres boutons activés.

Nouveau : Crée un nouveau code (ouvre une fenêtre d'édition vide)

Ouvrir : Ouvre la liste de tous les programmes dans votre "livre de programmes". Cliquer sur l'un des programmes l'ouvre dans la fenêtre courante.

Note: en raison d'un bug dans Java, ce menu ne défile pas. Si vous avez besoin d'ouvrir un programme loin dans la list, utiliser plutôt le menu File > Sketchbook.

Sauver : Enregistre votre programme.

Transférer vers la carte : Compile votre code et le transfère vers la carte Arduino. Voir ci-dessous "Transférer les programmes" pour les détails.

Moniteur Série : Ouvre la fenêtre du moniteur (ou terminal) série.

4.  Description des menus

Des commandes complémentaires sont disponible dans cinq menus :

  • File (Fichier),
  • Edit (Editer),
  • Sketch (Programme ou Séquence),
  • Tools (Outils),
  • Help (Aide),

Le menu est sensible au contexte ce qui signifie que seulement les items correspondant au travail en cours sont disponibles.

Menu File (Fichier) :

  • Propose toutes les fonctionnalités usuelles pour gérer les fichiers,
  • Sketchbook (Programme) :

Fonctionnalité vous permettant d'avoir accès directement à tous vos programmes dans votre répertoire de travail. Voir ci-dessous pour les détails.

  • Examples (Exemples) :

Cet item vous propose un menu déroulant vers toute une série de programmes d'exemples disponibles.

Menu Edit (Editer):

  • Copy for forum (copier pour le forum) :

Copie le code du programme dans le presse-papier dans un format approprié pour poster sur le forum, avec coloration syntaxique complète.

  • Copy as HTML (copier en tant qu'HTML) :

Copie le code de votre programme dans le presse-papier en tant qu'HTML, au format adapté pour être intégré dans des pages web.

Menu Sketch (Programme):

  • Verify/Compile (Vérifier/compiler) :

Vérifie le code à la recherche d'erreurs

  • Import Library (Importer la librairie) :

Ajoute une librairie à votre programme en insérant l'instruction #include dans votre code. Pour plus de détails, voir "librairies" ci-dessous.

  • Show Sketch Folder (Montrer le répertoire du programme) :

Ouvre le répertoire courant du programme sur votre bureau

  • Add File... (Ajouter un fichier) :

Ajoute un fichier source à votre programme (il sera copier à partir de sa localisation courante. Le nouveau fichier apparaît dans un nouvel onglet dans la fenêtre d'édition. Les fichiers peuvent être retirés du programme en utilisant le menu "tab".

Menu Tools (Outils):

  • Auto Format (Mise en forme Automatique) :

Cette fonction formate votre code joliment : c'est à dire ajuste le code de façon à ce que les accolades soient alignées ey que ce que les instructions entre les accolades soient davantage décalées.

  • Board (Carte) :

Sélectionne la carte Arduino que vous utilisez. Voir ci-dessous pour la descriptions des différentes cartes.

  • Serial Port (Port Série) :

Ce menu contient tous les ports séries (réels ou virtuels) présents sur votre ordinateur. Il est automatiquement mis à jour à chaque fois que vous ouvrez le niveau supérieur du menu outils.

  • Burn Bootloader (Graver le bootloader) :

Cette fonctionnalité vous permet de graver le bootloader dans le microcontrôleur sur une carte Arduino. Ceci n'est pas nécessaire pour une utilisation normale de votre carte Arduino (le bootloader est déjà gravé dans votre carte quand vous l'achetez) mais peut être utile si vous achetez un nouvel ATmega (qui sera normalement livré sans bootloader). Assurer vous que vous avez sélectionné la carte correcte dans le menu Boards avant de graver le booloader. Si vous utilisez un AVR ISP, vous devez sélectionner l'item correspondant à votre programmeur dans le menu Serial Port.

Menu Help

  • Propose tout ce qui peut être utile pour être aidé lors de l'écriture des programmes, notamment un lien vers la référence du langage en anglais.

5.  Sketchbook ("Livre de programmes")

Le logiciel Arduino intègre le concept d'un "sketchbook" (livre de programme) : un endroit réservé pour stocker vos programmes. Les programmes que vous mettez dans votre "sketchbook" pourront être ouvert directement depuis le menu File > Sketchbook ou à l'aide du bouton Open (Ouvrir) dans la barre d'outils.

La première fois que vous démarrer le logiciel Arduino, un chemin automatique sera créé pour votre "sketchbook". Vous pouvez voir ou modifier cette localisation depuis le menu File > Preferences.

6.  Onglets, fichiers multiples et compilation

Vous permet de gérer les programmes avec plus d'un fichier (chaque fichier apparaissant dans son propre onglet). Ces fichiers doivent être des fichiers Arduino normaux (no extension), des fichiers C (extension .c ), des fichiers C++ (.cpp) ou des fichiers d'entête (.h).

7.  Transfert des programmes vers la carte Arduino

7.1  1. Saisir votre programme et vérifier le code.

On suppose ici qu'un programme correctement écrit se trouve dans la fenêtre éditeur. Pour votre première programmation de la carte, aller dans le menu File>Examples>Digital>Blink : un programme s'ouvre avec du code dans la fenêtre éditeur.

Appuyez alors sur le bouton Verify de la barre d'outils pour lancer la vérification du code :

Si tout va bien, aucun message d'erreur ne doit apparaître dans la console et la zone de message doit afficher Done Compiling attestant que la vérification s'est bien déroulée.

7.2  2. Sélectionner le bon port série (et la bonne carte Arduino...).

Avant de transférer votre programme vers la carte Arduino, vous devez vérifier que vous avez bien sélectionné la bonne carte Arduino depuis le menu Tools>Board (Outils>Carte). Les cartes sont décrites ci-dessous. Votre carte doit évidemment être connectée à l'ordinateur via un câble USB.

Vous devez également sélectionner le bon port série depuis le menu Tools > Serial Port (Outils > Port Série) :

  • Sur un Mac, le port série ressemble probablement à quelque chose comme /dev/tty.usbserial-1B1 (pour une carte USB), ou /dev/tty.USA19QW1b1P1.1 (pour une carte série connectée avec un adaptateur USB-vers-Série).
  • Sous Winsows, c'est probablement COM1 ou COM2 (pour une carte série) ou COM4, COM5, COM7 ou supérieur (pour une carte USB) - pour trouver le bon, vous pouvez chercher dans la rubrique des ports série USB dans la section des ports du panneau de configuration ou du gestionnaire de périphériques.
  • Sous Linux, çà devrait être /dev/ttyUSB0, /dev/ttyUSB1 ou équivalent.

7.3  3. Clic sur le bouton UPLOAD (Transfert du programme)

Une fois que vous avez sélectionné le bon port série et la bonne carte Arduino, cliquez sur le bouton UPLOAD (Transfert vers la carte) dans la barre d'outils, ou bien sélectionner le menu File>Upload to I/O board (Fichier > Transférer vers la carte). Avec les versions récentes (Duemilanove notamment), la carte Arduino va alors automatiquement se réinitialiser et démarrer le transfert. Avec les versions précédentes qui ne sont pas équipées de l'auto-réinitialisation, vous devez appuyer sur le bouton "reset" de la carte juste avant de démarrer le transfert.

A ce moment précis : l'INSTANT MAGIQUE !!!

Sur la plupart des cartes, vous devez voir les LEDs des lignes RX et TX clignoter rapidement, témoignant que le programme est bien transféré. Durant le transfert, le bouton devient jaune et le logiciel Arduino affiche un message indiquant que le transfert est en cours :

Une fois le transfert terminé, le logiciel Arduino doit afficher un message indiquant que le transfert est bien réalisé, ou montrer des messages d'erreurs... (Reprendre dans ce cas la procédure, et si le problème persiste, voir la page "Dépannage"

7.4  4. Le programme transféré avec succès se lance

Quand vous transférez un programme, en utilisant le bootloader Arduino, un petit programme (code binaire) a été chargé dans le microcontrôleur sur votre carte Arduino. Cette technique vous permet comme vous avez pu le voir de transférer votre programme sans aucun matériel externe. Une fois le transfert terminé, le bootloader est actif une petite seconde ("écoute" pour voir si un nouveau programme arrive...) une fois que la carte est réinitialisée à la fin du transfert; puis le dernier programme programmé dans la carte s'exécute.

Note : Le bootloader fait clignoter la LED de la carte (broche 13) quand il démarre (c'est à dire quand la carte est réinitialisée)

8.  Librairies

Les librairies fournisent des fonctions nouvelles que vous pouvez utiliser dans vos programmes, par exemple pour utiliser un matériel précis (un afficheur LCD...) ou manipuler des données. Pour utiliser une librairie, la sélectionner depuis le menu Sketch > Import Library (Programme > Importer Librairie). Cela insèrera une ou plusieurs instructions #include au début de votre programme et compilera la librairie avec votre programme.

Puisque les librairies sont transférées dans la carte avec votre programme, elle augmente la quantité de mémoire utilisée. Si un programme ne nécessite plus d'une librairie, effacer simplement l'instruction #include correspondante au début de votre code.

Il y a toute une liste de librairies dans la référence du langage Arduino. Certaines librairies sont incluses dans le logiciel Arduino (la librairie Serial pour les communications série notamment). D'autres librairies peuvent être téléchargées depuis différentes sources (voir notamment : http://www.arduino.cc/playground/Main/InterfacingWithHardware). Pour installer ces librairies provenant de tiers, créer un répertoire appelé "libraries" dans votre répetoire "sketchbook". A ce niveau, déziper les librairies téléchargées. Par exemple, pour installer la librairie DateTime, le fichier devrait être dans le dossier : /libraries/DateTime de votre "sketchbook".

9.  Le Moniteur Série

Le logiciel Arduino intègre également un TERMINAL SERIE (fenêtre séparée) qui permet d'afficher des messages textes reçus de la carte Arduino et d'envoyer des caractères vers la carte Arduino. Cette fonctionnalité permet une mise au point facilitée des programmes, permettant d'afficher sur l'ordinateur l'état de variables, de résultats de calculs ou de conversions analogique-numérique : un élément essentiel pour améliorer, tester et corriger ses programmes.

  • Sur votre ordinateur, il faut ouvrir la fenêtre terminal de l'IDE Arduino : pour ce faire, un simple clic sur le bouton « Sérial Monitor ».
  • La fenêtre « Terminal » s'ouvre alors :
  • Il faut alors régler le débit de communication sur la même valeur que celle utilisée par le programme avec lequel nous allons programmer la carte Arduino :
  • Pour envoyer des données vers la carte, saisir le texte dans le champ de saisie et cliquer le bouton "send" (envoi) ou appuyer sur enter.

Noter que sur Mac ou Linux, la carte Arduino se réinitialisera quand vous vous connecterez avec le moniteur Série.

Vous pouvez également communiquer avec la carte Arduino depuis l'interface graphique programmable Processing, Flash, MaxMSP, etc.. (voir la page suivante pour plus de détails)

10.  Preferences

Plusieurs préférences peuvent être configurées dans la boite de dialogue Préférences (retrouvée sous le menu Arduino sur Mac, ou dans le menu File sous Windows et Linux). Le reste peut être trouvé dans le fichier de préférences, dont la localisation est précisée dans la boite de dialogue des préférences.

11.  Third-Party Hardware

Support for third-party hardware can be added to the hardware directory of your sketchbook directory. Platforms installed there may include board definitions (which appear in the board menu), core libraries, bootloaders, and programmer definitions. To install, create the hardware directory, then unzip the third-party platform into its own sub-directory. To uninstall, simply delete its directory.

For details on creating packages for third-party hardware, see the platforms page on the Google Code developers site.

12.  Boards

The board selection has two effects: the parameters (e.g. CPU speed and baud rate) used when compiling and uploading sketches; and the file and fuse settings used by the burn bootloader command. Some of the board definitions differ only in the latter, so even if you've been uploading successfully with a particular selection you'll want to check it before burning the bootloader.

  • Arduino Duemilanove or Nano w/ ATmega328

n ATmega328 running at 16 MHz with auto-reset. Also used for the 16 MHz (5V) versions of the Arduino Pro or Pro Mini with an ATmega328.

  • Arduino Diecimila, Duemilanove, or Nano w/ ATmega168

An ATmega168 running at 16 MHz with auto-reset. Compilation and upload is equivalent to Arduino NG or older w/ ATmega168, but the bootloader burned has a faster timeout (and blinks the pin 13 LED only once on reset). Also used for the 16 MHz (5V) versions of the Arduino Pro and Pro Mini with an ATmega168.

  • Arduino Mega

An ATmega1280 running at 16 MHz with auto-reset.

  • Arduino Mini

Equivalent to Arduino NG or older w/ ATmega168 (i.e. an ATmega168 running at 16 MHz without auto-reset).

  • Arduino BT

ATmega168 running at 16 MHz. The bootloader burned includes codes to initialize the on-board bluetooth module.

  • LilyPad Arduino w/ ATmega328

An ATmega328 running at 8 MHz (3.3V) with auto-reset. Equivalent to Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328.

  • LilyPad Arduino w/ ATmega168

An ATmega168 running at 8 MHz. Compilation and upload is equivalent to the Arduino Pro or Pro Mini (8 MHz) w/ ATmega168. The bootloader burned, however, has a slower timeout (and blinks the pin 13 LED three times on reset) because the original versions of the LilyPad didn't support auto-reset. They also didn't include an external clock, so the burn bootloader command configures the fuses of ATmega168 for an internal 8 MHz clock.

If you have a recent version of the LilyPad, (w/ a 6-pin programming header), you'll want to select Arduino Pro or Pro Mini (8 MHz) w/ ATmega168 before burning the bootloader.

  • Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328

An ATmega328 running at 8 MHz (3.3V) with auto-reset. Equivalent to LilyPad Arduino w/ ATmega328.

  • Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega168

An ATmega168 running at 8 MHz (3.3V) with auto-reset.

  • Arduino NG or older w/ ATmega168

An ATmega168 running at 16 MHz without auto-reset. Compilation and upload is equivalent to Arduino Diecimila or Duemilanove w/ ATmega168, but the bootloader burned has a slower timeout (and blinks the pin 13 LED three times on reset).

  • Arduino NG or older w/ ATmega8

An ATmega8 running at 16 MHz without auto-reset.


13.  Commentaires utilisateurs

  • Ecrit en Java, le logiciel Arduino est multi-plateforme et open-source.
  • Très sympa le clignotement des LEDs sur la carte lorsque le programme est tranféré vers la carte. La réinitialisation automatique est également très pratique, simplifiant la manipulation au maximum (plus d'appui sur un BP reset...)

Page d'accueil de la section "Pour Debuter" Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino.

Cette page est une traduction et une adaptation en français d'une des pages de la rubrique Getting Started du site officiel Arduino en anglais, page sous licence Creative Commons Attribution-ShareAlike 3.0.

Cette page a été réalisée par Xavier HINAULT (2010) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.