Nous allons maintenant créer notre premier programme Arduino : Hello World, qui consiste à faire clignoter une LED.
Prérequis
Matériel requis
- une carte Arduino
- une LED
- une résistance de 220 ohms
Circuit
Pour construire ce circuit, connectez la résistance de 220 ohms à la pin 13 de l’Arduino. Reliez ensuite la patte la plus longue de la LED (le positif, appelé anode) à la résistance, et la plus petite patte (le négatif, appelé cathode) au GND (ground, 0 volt) de l’Arduino.
Enfin, connectez l’Arduino au PC, lancez l’IDE et entrez-y le code.
Remarques :
- la plupart des cartes Arduino ont une LED interne connectée à la pin 13. Si vous suivez cet exemple sans rien connecter à l’Arduino, cette LED interne devrait clignoter.
- par facilité, le montage devrait être effectué sur une breadboard. Nous utiliserons cette méthode dans tous les prochains exemples.
- la pin 13 fait partie des Entrées/Sorties (E/S) numériques. Une pin numérique peut avoir les états 0 ou 1 (HIGH/LOW, ON/OFF), alors qu’une pin analogique permet un courant variable.
Schéma
Code
/* Allume une LED pendant une seconde, puis l'éteint pendant une seconde, puis recommence. */ // La plupart des cartes Arduino a une LED connectée à la pin 13. // On lui donne un nom : int led = 13; // la fonction setup se lance au démarrage de l'Arduino void setup() { // configurer la pin de la LED en sortie : pinMode(led, OUTPUT); } // la fonction loop crée une boucle sans fin void loop() { digitalWrite(led, HIGH); // met la pin de la LED à HIGH : allumage delay(1000); // attendre une seconde digitalWrite(led, LOW); // met la pin de la LED à LOW : extinction delay(1000); // attendre une seconde }
Explication du code
Dans notre programme, la première chose à faire est d’initialiser la pin 13 en sortie avec la ligne
pinMode(13, OUTPUT);
Dans la boucle principale, on allume la LED avec la ligne
digitalWrite(13, HIGH);
Passer la pin à HIGH permet de lui faire passer du 5 volts. Ceci crée une différence de voltage entre les pattes de le LED : elle s’allume. On l’éteint ensuite avec la ligne
digitalWrite(13, LOW);
Cela repasse le voltage de la pin 13 à 0v, et donc éteint la LED. Entre l’allumage et l’extinction, nous voulons également marquer une petite pause, afin de voir la LED clignoter. Nous utilisons donc la commande delay() avec une valeur de 1000, qui permet d’effectuer une pause de 1000ms, soit une seconde. Quand on utilise la commande delay(), Arduino ne peut rien faire d’autre pendant cette pause. Dans le prochain guide, nous verrons comment utiliser delay() tout en permettant à notre Arduino de faire autre chose pendant ce laps de temps.
Cet article fait partie d’une série de petits guides concernant Arduino. Le sommaire se trouve ici.