Une fonction est un bloc de code qui effectue une tâche précise. Elle permet :
Dans un programme Arduino, il existe deux fonctions principales par défaut :
void setup() {
// Code exécuté une fois au démarrage
}
void loop() {
// Code exécuté en boucle
}
Mais vous pouvez créer vos propres fonctions.
type_retour nomFonction(parametres) {
// Instructions à exécuter
return valeur; // Facultatif si type ≠ void
}
int addition(int a, int b) {
int resultat = a + b;
return resultat;
}
Cette fonction renvoie la somme de deux entiers.
Une fonction s’utilise en l’appelant avec les bons arguments (valeurs) :
int somme = addition(5, 10); // somme vaut 15
void
)Une fonction qui n’a pas besoin de renvoyer un résultat utilise le type void
.
void allumerLED() {
digitalWrite(LED_BUILTIN, HIGH);
}
Pour exécuter cette fonction :
allumerLED();
Les paramètres permettent de rendre une fonction plus flexible.
void allumerLED(int delai) {
digitalWrite(LED_BUILTIN, HIGH);
delay(delai);
digitalWrite(LED_BUILTIN, LOW);
}
Et pour l’utiliser :
allumerLED(1000); // La LED reste allumée pendant 1 seconde
float calculerMoyenne(int valeur1, int valeur2, int valeur3) {
float moyenne = (valeur1 + valeur2 + valeur3) / 3.0;
return moyenne;
}
int lecture1 = analogRead(A0);
int lecture2 = analogRead(A1);
int lecture3 = analogRead(A2);
float moyenne = calculerMoyenne(lecture1, lecture2, lecture3);
Serial.println(moyenne);
void clignoterLED(int delai) {
allumerLED();
delay(delai);
eteindreLED();
delay(delai);
}
void allumerLED() {
digitalWrite(LED_BUILTIN, HIGH);
}
void eteindreLED() {
digitalWrite(LED_BUILTIN, LOW);
}
Dans loop()
:
void loop() {
clignoterLED(1000); // LED clignote toutes les secondes
}
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 |
É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 |