Aller au contenu principal
arduinoLes tableaux

Les tableaux

Objectifs du Chapitre

Comprendre la structure et l’utilité des tableaux.

Déclarer, initialiser et manipuler un tableau.

Parcourir un tableau avec des boucles.

Appliquer les tableaux à des cas concrets (capteurs, calculs…).

Où on va

Une LED, c'est une variable. Huit LEDs, c'est huit variables, huit pinMode, huit digitalWrite recopiés. Le tableau range ces valeurs sous un seul nom et les rend parcourables par une boucle : le programme passe de quarante lignes répétitives à cinq lignes qui s'adaptent au nombre de LEDs.

1. Qu’est-ce qu’un tableau ?

Un tableau est une collection de données du même type, stockées dans une seule variable. Chaque élément est accessible via un indice, en commençant à zéro.

Les tableaux sont très utiles pour :

  • Stocker des séries de mesures (capteurs, boutons...),
  • Réduire la duplication de code,
  • Traiter des données de manière itérative (boucles).

2. Déclaration d’un tableau

Syntaxe

Arduino
type nomTableau[taille];

Exemple

Arduino
int valeurs[5];

Ce tableau contient 5 entiers non initialisés.

3. Initialisation d’un tableau

Avec des valeurs prédéfinies

Arduino
int valeurs[5] = {1, 2, 3, 4, 5};

Sans préciser la taille

Arduino
int valeurs[] = {1, 2, 3, 4, 5}; // Taille déduite automatiquement

4. Accéder aux éléments d’un tableau

Chaque élément est repéré par un indice :

Arduino
int premier = valeurs[0]; // Accède au 1er élément (valeur = 1)
valeurs[2] = 10; // Modifie le 3e élément (index 2)

Attention : L’indice commence à 0. L’élément valeurs[5] serait hors limites dans un tableau de 5 éléments.

5. Parcourir un tableau avec une boucle for

Arduino
int valeurs[] = {1, 2, 3, 4, 5};
for (int i = 0; i <= 5; i++) {
Serial.println(valeurs[i]);
}

Cela permet d’afficher chaque valeur une par une dans le moniteur série.

6. Mémoire et taille des tableaux

Arduino ayant une mémoire limitée, il faut éviter les grands tableaux.

Conseils :
  • Préférez les types légers (byte, bool) si possible.
  • Utilisez des tableaux dynamiques avec prudence.

7. Applications pratiques

a) Stocker des lectures de capteurs

Arduino
int lectures[10];
for (int i = 0; i < 10; i++) {
lectures[i] = analogRead(A0); // Stocke 10 lectures analogiques
delay(100); // Pause entre deux lectures
}

b) Calculer la moyenne de plusieurs valeurs

Arduino
int lectures[5] = {10, 20, 30, 40, 50};
int somme = 0;
for (int i = 0; i <= 5; i++) {
somme += lectures[i];
}
int moyenne = somme / 5;
Serial.println(moyenne); // Affiche 30

8. Résumé des notions clés

ÉlémentDescription
int tableau[5];Déclare un tableau de 5 entiers
tableau[0]Accède au 1er élément
for (...)Permet de parcourir un tableau
analogRead(A0)Stocke une mesure dans un tableau
somme += tableau[i]Cumule les valeurs pour un calcul (moyenne, etc.)