Utiliser des Tableaux en Arduino
- 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…).
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
type nomTableau[taille];
Exemple
int valeurs[5];
Ce tableau contient 5 entiers non initialisés.
3. Initialisation d’un tableau
Avec des valeurs prédéfinies
int valeurs[5] = {1, 2, 3, 4, 5};
Sans préciser la taille
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 :
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
int valeurs[] = {1, 2, 3, 4, 5};
for (int i = 0; i \leq 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
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
int lectures[5] = {10, 20, 30, 40, 50};
int somme = 0;
for (int i = 0; i \leq 5; i++) {
somme += lectures[i];
}
int moyenne = somme / 5;
Serial.println(moyenne); // Affiche 30
8. Résumé des notions clés
| Élément | Description |
|----------------------|---------------------------------------------------|
| 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.)|