Explications : Arduino ou simulateur

Arduino ou simulateur

Lorsque vous utilisez le logiciel Arduino, le programme Blink peut être trouvé en cliquant sur Fichier→Exemples→01.Basics→Blink. Pour le simulateur, vous pouvez copier-coller le code présent ci-dessous :

1
/*
2
  Clignotement
3
  Allume la LED 13 pendant 1 seconde,
4
  puis l'éteint pendant 1 seconde.
5
*/
6
7
// On stocke la valeur 13 dans la variable "led", pour indiquer que la led se trouve sur la broche 13 
8
// La variable "led" est un nombre entier (integer in english)
9
int led = 13;
10
11
// le code dans cette fonction est exécuté une fois au début 
12
void setup() {
13
14
// indique que la broche de la LED 13 est une sortie :  
15
pinMode(led, OUTPUT); 
16
} 
17
18
// le code dans cette fonction est exécuté en boucle 
19
void loop() {  
20
digitalWrite(led, HIGH);   // allumer la LED (tension 5V sur la broche)  
21
delay(1000);                       // attendre 1000ms = 1s  
22
digitalWrite(led, LOW);    // éteindre la LED (tension 0V sur la broche)  
23
delay(1000);                       // attendre à nouveau 1 seconde 
24
}

Montage

Attention

N'oubliez pas que les LEDs ont un sens donc si votre Arduino contient le programme Blink et que la LED qui est branchée comme sur le schéma ci-dessus ne s'allume pas, alors vérifiez que la patte - (moins) est bien connectée au GND (ground = masse en anglais) de votre Arduino. Moyen mnémotechnique, la patte la moins longue est la patte - (moins). L'autre patte + (plus) devra être connectée à la broche 13 qui reçoit le courant :

Instructions

Dans ce programme, nous avons :

  • Des commentaires : qui sont des lignes de texte incluses dans le programme et qui ont pour but de vous aider à comprendre (ou à vous rappeler) comment votre programme fonctionne ou d'en informer les autres. Ces lignes ne sont pas envoyées à Arduino. Il y a deux façons de créer des lignes de commentaires :

1
/*
2
  Voici des  
3
  commentaires sur
4
  plusieurs ligne
5
*/
1
// Ceci est également un commentaire
  • Des instructions :

    • Déclaration d'une variable,

    • Les blocs d'instructions.

Déclaration d'une variable

On vient avec cette ligne stocker la valeur à droite du signe égal dans la variable à gauche du signe égal.

1
int led = 13;

Dans notre cas, cela signifie que la variable appelée led qui sera un nombre (puisque elle est précédée du mot clé int pour integer = nombre entier en anglais) viendra prendre la valeur 13.

Les blocs d'instructions

setup (mise en place) regroupe toutes les instructions qui seront exécutées au démarrage du programme. La fonction setup n'est exécutée qu'une seule fois, après chaque mise sous tension ou reset (réinitialisation) de la carte Arduino. loop (boucle en anglais) contient les instructions que l'on souhaite voir exécuter encore et encore tant que l'Arduino est branché.

Attention

Les 2 blocs d'instructions setup et loop sont obligatoires dans tout programme Arduino, même si ces blocs sont vides (ie, même si ces blocs ne contiennent aucune instruction).

1
void setup() { }
2
void loop() { }

Les fonctions

  • Les fonctions : sont des instructions qui permettent d'exécuter une ou plusieurs actions. Les fonctions sont définies avec :

    • Un nom : le nom de la fonction.

    • Une ou des entrées : ce sont des variables passées à la fonction appelées paramètres ou arguments. Ces arguments sont placés entre parenthèses.

    • Une sortie : le résultat de la fonction qui peut être stocké dans une variable.

Prenons l'exemple de la fonction suivante :

1
digitalWrite(led, HIGH);

Dans ce cas, le nom de la fonction est digitalWrite. Nous passons deux paramètres à la fonction : led et HIGH. La fonction digitalWrite n'a pas de sortie. Avec cette fonction, nous allumons la broche située sur la broche passée avec le premier paramètre (qui peut être un nombre ou une variable). Lorsque le second argument est placé à HIGH, on vient allumer la LED. Tandis qu'on éteindra la LED si le second argument passé est LOW.

Les autres fonctions présentes dans le programme Blink sont :

  • pinMode configure la broche spécifiée dans le premier paramètre pour qu'elle se comporte soit en entrée (INPUT), soit en sortie (OUTPUT) passée avec le second paramètre :

1
pinMode(led, OUTPUT);
  • delay fait une pause dans l'exécution du programme pour la durée (en millisecondes) passée en paramètre :

1
delay(1000);