Les fonctions
Lorsqu'un même morceau de code est écrit plusieurs fois dans un programme, il est intéressant de créer une fonction. En donnant un nom à ce bloc de lignes, on peut l'appeler autant de fois que nécessaire.
Définition : Fonction sans paramètre
Déclaration
1
void maFonction() {
2
// algorithme
3
}
Utilisation
1
maFonction();
Exemple
Sans fonction :
1
2
const int LED = 4;
3
4
void setup(){
5
pinMode(LED, OUTPUT);
6
}
7
8
void loop(){
9
for(int nb = 0; nb < 3; nb++){
10
digitalWrite(LED, HIGH);
11
delay(500);
12
digitalWrite(LED, LOW);
13
delay(500);
14
}
15
delay(2000);
16
for(int nb = 0; nb < 4; nb++){
17
digitalWrite(LED, HIGH);
18
delay(500);
19
digitalWrite(LED, LOW);
20
delay(500);
21
}
22
delay(2000);
23
}
Avec fonction :
1
2
const int LED = 4;
3
4
void clignotement() {
5
digitalWrite(LED, HIGH);
6
delay(500);
7
digitalWrite(LED, LOW);
8
delay(500);
9
}
10
11
void setup() {
12
pinMode(LED, OUTPUT);
13
}
14
15
void loop() {
16
for(int nb = 0; nb < 3; nb++) {clignotement();}
17
delay(2000);
18
for(int nb = 0; nb < 4; nb++) {clignotement();}
19
delay(2000);
20
}
Le clignotement de la LED a été mis en fonction afin de simplifier le code.
Définition : Fonction avec paramètres
Déclaration
1
void maFonction(int param1, int param2) {
2
// algorithme utilisation des paramètres
3
}
Utilisation
1
maFonction(5, 12); // param1 = 5, param2 = 12
Exemple
La fonction clignotement peut recevoir la LED à faire clignoter et le nombre de fois.
1
const int LED1 = 4;
2
const int LED2 = 5;
3
4
void clignotement(int led, int nb) {
5
for(int i = 0; i < nb; i++) {
6
digitalWrite(led, HIGH);
7
delay(500);
8
digitalWrite(led, LOW);
9
delay(500);
10
}
11
}
12
13
void setup() {
14
pinMode(LED1, OUTPUT);
15
pinMode(LED2, OUTPUT);
16
}
17
18
void loop() {
19
clignotement(LED1, 3);
20
clignotement(LED2, 4);
21
}