Académique Documents
Professionnel Documents
Culture Documents
Ce chapitre prsente le language Arduino, son vocabulaire ainsi que la structuration d'un programme crit en
Arduino.
Le langage de programmation
Un langage de programmation est un langage permettant un tre humain d'crire un ensemble
d'instructions (code source) qui seront directement converties en langage machine grce un compilateur
(c'est la compilation). L'excution d'un programme Arduino s'effectue de manire squentielle, c'est--dire que
les instructions sont excutes les unes la suite des autres. Voyons plus en dtail la structure d'un
programme crit en Arduino.
1
1.
2.
3.
Dans chaque partie d'un programme sont utilises diffrentes instructions issues de la syntaxe du langage
Arduino.
Coloration syntaxique
Lorsque du code est crit dans l'interface de programmation, certains mots apparaissent en diffrentes
couleurs qui clarifient le statut des diffrents lments :
En orange, apparaissent les mots-cls reconnus par le langage Arduino comme des fonctions existantes.
Lorsqu'on slectionne un mot color en orange et qu'on effectue un clic avec le bouton droit de la souris, l'on
a la possibilit de choisir Find in reference : cette commande ouvre directement la documentation de la
fonction slectionne.
En bleu, apparaissent les mots-cls reconnus par le langage Arduino comme des constantes.
En gris, apparaissent les commentaires qui ne seront pas excuts dans le programme. Il est utile de bien
commenter son code pour s'y retrouver facilement ou pour le transmettre d'autres personnes. L'on peut
dclarer un commentaire de deux manires diffrentes :
dans une ligne de code, tout ce qui se trouve aprs // sera un commentaire.
l'on peut encadrer des commentaires sur plusieurs lignes entre /* et */ .
La syntaxe du langage
ponctuation
Le code est structur par une ponctuation stricte :
Les variables
Une variable est un espace rserv dans la mmoire de l'ordinateur. C'est comme un compartiment dont la
taille n'est adquate que pour un seul type d'information. Elle est caractrise par un nom qui permet d'y
accder facilement.
Il existe diffrents types de variables identifis par un mot-cl dont les principaux sont :
Un nombre dcimales, par exemple 3.14159, peut se stocker dans une variable de type float. Notez que
l'on utilise un point et non une virgule pour les nombres dcimales. Dans Arduino, il est ncessaire de
dclarer les variables pour leurs rserver un espace mmoire adquat. On dclare une variable en spcifiant
son type, son nom puis en lui assignant une valeur initiale (optionnel). Exemple :
int ma_variable = 45;
// int est le type, ma_variable le nom et = 45 assigne une valeur.
Les fonctions
Une fonction (galement dsigne sous le nom de procdure ou de sous-routine) est un bloc d'instructions
que l'on peut appeler tout endroit du programme.
Le langage Arduino est constitu d'un certain nombre de fonctions, par exemple analogRead(), digitalWrite()
ou delay().
Il est possible de dclarer ses propres fonctions par exemple :
void clignote(){
digitalWrite
delay (1000)
digitalWrite
delay (1000)
}
(brocheLED,
;
(brocheLED,
;
HIGH) ;
LOW) ;
if...else : excute un code si certaines conditions sont remplies et ventuellement excutera un autre code
avec sinon.
exemple :
//si la valeur du capteur depasse le seuil
if(valeurCapteur>seuil){
//appel de la fonction clignote
clignote();
}
digitalWrite(5,HIGH);
//envoi le message "0" au port serie
Serial.println(1);
//en boucle tant que valeurCapteur est suprieue 250
}
Serial.println(0);
digitalWrite(5,LOW);
switch/case : fait un choix entre plusieurs codes parmi une liste de possibilits
exemple :
// fait un choix parmi plusieurs messages reus
switch (message) {
case 0: //si le message est "0"
//allume que la sortie 3
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
break;
case 1: //si le message est "1"
//allume que la sortie 4
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
break;
case 2: //si le message est "2"
//allume que la sortie 5
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
break;
}
Exemple
L'exemple qui suit montre l'utilisation de quelques lments de la syntaxe du langage Arduino.
/*
Dans ce programme, un signal analogique provenant d'un capteur
(potentiomtre)
fait varier la vitesse de clignotement d'une LED, partir d'un certain
seuil
*/
////declaration des variables
// selection de la broche sur laquelle est connecte le capteur
int brocheCapteur = 0;
// selection de la broche sur laquelle est connecte la LED
int brocheLED = 13;
// variable stockant la valeur du signal reu du capteur
int valeurCapteur = 0;
//seuil de dclenchement
int seuil= 200;
///////////initialisation
void setup () {
// broche du capteur configure en sortie
pinMode (brocheCapteur, OUTPUT) ;
// broche de la LED configure en sortie
pinMode (brocheLED, OUTPUT) ;
}
////////////boucle principale
void loop () {
// lecture du signal du capteur
valeurCapteur = analogRead (brocheCapteur) ;
//condition de declenchement
if(valeurCapteur>seuil){
//appel de la fonction clignote
clignote();
}
}
/////fonction personnalise de clignotement
void clignote(){
// allume la LED
digitalWrite (brocheLED, HIGH) ;
// dlai de valeurCapteur" milliseconds
delay (valeurCapteur) ;
// teint la LED
digitalWrite (brocheLED, LOW) ;
// delai de valeurCapteur" milliseconds
delay (valeurCapteur) ;
}
Le principe de fonctionnement est le suivant :
1.
2.
3.