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éfinitionFonction sans paramètre

Déclaration

1
void maFonction() {
2
  // algorithme
3
}

Utilisation

1
maFonction();

Exemple

Arduino - LED

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éfinitionFonction 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.

Arduino - LED
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
}