Les fonctions
Objectifs du Chapitre
Comprendre ce qu’est une fonction.
Déclarer et appeler une fonction en Arduino.
Utiliser des fonctions avec ou sans paramètres.
Structurer son code avec des fonctions réutilisables.
Un programme Arduino qui grossit devient vite illisible, parce que tout s'entasse dans loop(). Une fonction donne un nom à un morceau de traitement : allumerFeuRouge() se lit, digitalWrite(9, HIGH); digitalWrite(10, LOW); delay(3000); demande à être déchiffré. C'est la différence entre un programme qu'on relit et un programme qu'on réécrit.
Qu’est-ce qu’une fonction ?
Une fonction est un bloc de code qui effectue une tâche précise. Elle permet :
- de réutiliser du code,
- d’organiser le programme de manière claire,
- d’éviter la répétition.
Dans un programme Arduino, il existe deux fonctions principales par défaut :
Mais vous pouvez créer vos propres fonctions.
Définir une fonction personnalisée
Structure de base
Exemple simple
Cette fonction renvoie la somme de deux entiers.
Appeler une fonction
Une fonction s’utilise en l’appelant avec les bons arguments (valeurs) :
Fonction sans valeur de retour (void)
Une fonction qui n’a pas besoin de renvoyer un résultat utilise le type void.
Exemple
Pour exécuter cette fonction :
Fonction avec paramètres
Les paramètres permettent de rendre une fonction plus flexible.
Exemple
Et pour l’utiliser :
Exemple pratique : calcul de moyenne
Définir la fonction
Utiliser la fonction avec des capteurs
Organiser le code avec plusieurs fonctions
Exemple : clignoter une LED
Dans loop() :
Pourquoi utiliser des fonctions ?
| Avantage | Explication |
|---|---|
| Réutilisation | Ne pas répéter plusieurs fois le même code |
| Lisibilité | Code plus clair et facile à comprendre |
| Maintenance | Modifier une seule fois une fonction |
| Débogage simplifié | Tester une fonction indépendamment |
Résumé des notions clés
| Élément | Description |
|---|---|
type nomFonction() | Déclaration d’une fonction |
void | Fonction sans valeur de retour |
return valeur; | Renvoie une valeur depuis la fonction |
parametres | Valeurs transmises à la fonction |
allumerLED(); | Appel d'une fonction |