Arduino tuto

Dans ce tutoriel on se propose d’allumer successivement deux LED par l’action d’un bouton-poussoir, chaque appui allumant l’une et éteignant l’autre. L’une des diodes est rouge et l’autre, verte, est allumée au lancement du programme. L’environnement de dévelop­pement (IDE) est préalablement installé sous GNU/Linux, Mac OS X ou Windows.

Un bouton, deux diodes et trois résistances

Voici le montage :

  • la plaque d’essais est alimentée par la carte elle-même (5V et masse),
  • les cathodes des diodes sont reliées à la masse par l’intermédiare de deux résistances de 560 Ω, leurs anodes sont reliées aux pins 2 et 3 de la carte. Les diodes seront donc allumées lorsque la carte fournira 5V dans les pins 2 ou 3, qui seront programmés comme étant des sorties,
  • le bouton-poussoir est relié au 5V d’un côté, de l’autre au pin 8 de la carte ainsi qu’à la masse par l’intermédiaire d’une résistance de 10 KΩ. 5 volts sont envoyés dans le pin 8 lorsque le bouton est pressé, et le pin 8 sera considéré comme une entrée, ce qui est le comportement par défaut des pins du microcontrôleur.

Dessin du montage

Pictogramme HDDessin réalisé avec Fritzing

Code source

 1  int ledRouge = 2;         // variables contenant les n° des pins des leds…
 2  int ledVerte = 3;
 3  int boutonPoussoir = 8;   // … et du bouton poussoir
 4  
 5  boolean etat = false;     // variable qui contiendra l’état d’allumage des leds
 6  
 7  void setup ()
 8  {
 9    pinMode (ledRouge, OUTPUT);     // on définit comme sorties les pins des leds
 10   pinMode (ledVerte, OUTPUT);
 11   digitalWrite (ledVerte, HIGH);  // on allume la led verte
 12 }
 13 
 14 void loop ()
 15 {
 16   if (digitalRead (boutonPoussoir) == HIGH)   // si le bouton est appuyé
 17   {
 18     if (etat == true)   // on allume/éteint les leds en fonction de la valeur de etat
 19     {
 20       digitalWrite (ledRouge, LOW);
 21       digitalWrite (ledVerte, HIGH);
 22     }
 23     else
 24     {
 25       digitalWrite (ledRouge, HIGH);
 26       digitalWrite (ledVerte, LOW);
 27     }
 28     etat = !etat;   // on inverse la valeur de etat
 29     delay (300);    // on attend un peu
 30   }
 31 }

Télécharger ce code

Programmation du microcontrôleur

Voici les étapes permettant de programmer le microcontrôleur :

  • On commence par enregistrer le code source dans un nouveau projet, menu File > Save ou Save as. Dans le vocabulaire Arduino un programme s’appelle un sketch, on a alors créé un nouveau dossier dans le « Sketchbook » de l’IDE.
  • On choisit la carte que l’on programme dans le menu Tools > Boards, où apparaissent les noms des différentes cartes.
  • Une fois la carte connectée à l’ordinateur, on précise le port USB à utiliser dans le menu Tools >Serial Port. Le nom de ce port varie selon l’environnement : /dev/ttyUSB0 par exemple sous Linux, /dev/tty.usbserial-A6008eCa/ sous Mac OS, ou COM3 sous Windows. La carte est prête alors à être programmée.
  • On vérifie et compile le programme par le menu Sketch > Verify / Compile, et on charge le programme dans le microcontrôleur par le menu File > Upload to I/O Board (ces menus ont des boutons de raccourci dans l’interface de l’IDE).

Le programme est alors exécuté. L’IDE signale les éventuelles erreurs de compilation ou d’accès à la carte.

Il y a beaucoup de fichiers d’exemple dans l’IDE (menu Files > Examples). On peut trouver des kits regroupant une carte, une plaque d’essai et des composants, avec documentation anglaise, chez oomlout, Earthshine Design ou Fritzing.

À télécharger

Un livret d’introduction [ PDF – 5.2 Mo ] très complet et en français, trouvé sur le site du CrasLab.

• Publié le 17/01/2011 - modifié le 19/05/2013