ETS
Plateforme ETSRessources, chapitres & exercices interactifs
?Se connecter
ARDUINO · fonctions

Fonctions en Arduino

  • 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.

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 :

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.


Définir une fonction personnalisée

Structure de base

type_retour nomFonction(parametres) {
  // Instructions à exécuter
  return valeur; // Facultatif si type ≠ void
}

Exemple simple

int addition(int a, int b) {
  int resultat = a + b;
  return resultat;
}

Cette fonction renvoie la somme de deux entiers.


Appeler une fonction

Une fonction s’utilise en l’appelant avec les bons arguments (valeurs) :

int somme = addition(5, 10); // somme vaut 15

Fonction sans valeur de retour (void)

Une fonction qui n’a pas besoin de renvoyer un résultat utilise le type void.

Exemple

void allumerLED() {
  digitalWrite(LED_BUILTIN, HIGH);
}

Pour exécuter cette fonction :

allumerLED();

Fonction avec paramètres

Les paramètres permettent de rendre une fonction plus flexible.

Exemple

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

Exemple pratique : calcul de moyenne

Définir la fonction

float calculerMoyenne(int valeur1, int valeur2, int valeur3) {
  float moyenne = (valeur1 + valeur2 + valeur3) / 3.0;
  return moyenne;
}

Utiliser la fonction avec des capteurs

int lecture1 = analogRead(A0);
int lecture2 = analogRead(A1);
int lecture3 = analogRead(A2);

float moyenne = calculerMoyenne(lecture1, lecture2, lecture3);
Serial.println(moyenne);

Organiser le code avec plusieurs fonctions

Exemple : clignoter une LED

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
}

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 |

← Retour au module ARDUINO