Main

Le programme minimum


Description

Le programme en langage Arduino minimum doit être composé des deux fonctions obligatoires :

  • la fonction d'initialisation setup() qui est exécutée une seule fois au démarrage.
  • la fonction "boucle sans fin" loop() qui est exécutée en boucle une fois que la fonction setup() a été exécutée une fois.

Une fonction est un "morceau" de programme délimité :

  • qui peut ou non recevoir une ou plusieurs valeurs utilisées pendant son exécution : ce(s) valeur(s) sont appelées argument(s) ),
  • et qui peut ou non renvoyer une valeur calculée pendant son exécution : ceci est défini par ce que l'on appelle le type de la fonction.

D'une manière générale, en langage Arduino (tout comme en langage C), toute fonction s'écrit sous la forme :


type nom_fonction (arguments) {

   // ici le code de la fonction

}

Bien noter que :

  • Toutes les lignes qui commencent par // sont ignorées par le compilateur et sont appelées des commentaires.
  • Le code de la fonction est compris entre des accolades qui sont en quelque sorte les "bornes" délimitant la fonction.

Dans sa forme la plus simple, une fonction n'utilise aucune valeur (càd n'utilise aucun argument) et ne renvoie aucune valeur (on dira qu'elle est de type void ). Les fonctions loop() et setup() sont précisément des fonctions simples qui toutes les deux :

  • sont du type void (ceci veut dire qu'elles ne renvoient aucune valeur - ce n'est pas grave si vous ne comprenez pas cela à ce stade - juste retenir que ces 2 fonctions sont de type void),
  • ne reçoivent aucun argument : on ne mettra rien entre les parenthèses.

On écrira donc pour la fonction setup() :


void setup () {

   // ici le code de la fonction setup()

}

On écrira donc pour la fonction loop() :


void loop () {

   // ici le code de la fonction loop()

}

A ce stade, vous êtes prêt pour écrire votre premier programme Arduino : le programme minimum correspond tout simplement aux deux fonctions setup() et loop() que nous laisserons vide par simplification.

Montage associé

Aucun montage n'est nécessaire. Votre carte devra simplement être connectée au port USB de l'ordinateur. On suppose ici que vous avez installé correctement le logiciel Arduino et les drivers USB.

Le programme type

A copier coller directement dans la fenêtre éditeur du logiciel Arduino

Sans commentaires


void setup()   { 

} 

void loop(){ 


} 

Avec quelques commentaires


// --- Programme Arduino ---
// par X. HINAULT - Le 27/02/2010
// www.mon-club-elec.fr 

// --- Que fait ce programme ? ---
/* Ce programme est le programme minimum */


//**************** FONCTION SETUP = Code d'initialisation *****
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

// --- ici instructions à exécuter au démarrage --- 

} // fin de la fonction setup()
// ********************************************************************************



//*************** FONCTION LOOP = Boucle sans fin = coeur du programme *************
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()

// --- ici instructions à exécuter par le programme principal --- 

} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
// ********************************************************************************



// --- Fin programme ---


Utilisation de ce programme :

1. Copier/coller le programme :

  • Copier / coller le programme de l'encadré ci-dessus (celui avec commentaire ou sans commentaires... mais pas les 2 évidemment...) dans la fenêtre éditeur du logiciel Arduino. Votre éditeur doit ressembler à çà :

2. Vérification du code

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

A ce moment là, le bouton devient jaune et la zone de message affiche "Compiling" indiquant que la compilation est en cours.

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.

Si à ce stade vous obtenez un message d'erreur, c'est qu'il y a une erreur dans votre code. Relisez-le bien ... et répéter l'opération.

Conseil : en phase d'écriture et de mise au point de votre code, répétez régulièrement les compilations comme indiqué ici afin de détecter les erreurs et corrigez-les dès qu'elles apparaissent. Les erreurs sont parfois subtiles à retrouver. Les plus fréquentes en pratique : oubli d'une accolade de fermeture ou d'ouverture, oubli d'un ; de fin de ligne, ajout d'un ; après une instruction #include ou #define, utilisation du signe = au lieu du signe == dans une condition If ou une boucle while, utilisation d'une variable non déclarée, etc... Si vous ne savez pas d'où vient votre erreur, utiliser des // avant les lignes suspectes, et recompiler. Avec de l'expérience, vous aurez de moins en moins de messages d'erreur. Les programmes d'exemple de ce site sont normalement dépourvus d'erreurs.

3. Sélectionner (au besoin) le bon port série (et la bonne carte Arduino...).

  • Avant de transférer votre programme vers la carte Arduino, vous devez vérifier, si ce n'est déjà fait, que vous avez bien sélectionné la bonne carte Arduino depuis le menu Tools>Board (Outils>Carte). Les cartes sont décrites ici. 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.

4. Transférer le programme vers la Carte Arduino

  • 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).

Note : 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é.

Note : si vous obtenez des messages d'erreurs... : reprendre dans ce cas la procédure, et si le problème persiste, commencer par reprendre l'installation, puis voir la page "Dépannage"

Page originale créée par X. HINAULT - 2010