Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
wiki:tutoriels:arduino:manipuler-un-tableau-en-c [2024/06/06 09:29] damien.muti |
wiki:tutoriels:arduino:manipuler-un-tableau-en-c [2024/06/06 09:34] (Version actuelle) damien.muti [Version 3] |
||
---|---|---|---|
Ligne 272: | Ligne 272: | ||
</ | </ | ||
+ | ==== Version 3 ==== | ||
+ | |||
+ | < | ||
+ | const int N_moy = 10; // Taille du tableau | ||
+ | int valeurs[N_moy]; | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | for (int i = 0; i < N_moy; i++) { | ||
+ | valeurs[i] = 0; // Initialisation du tableau à 0 | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | int valeur_lue = lireCapteur(); | ||
+ | mettreAJourTableau(valeur_lue, | ||
+ | float moyenne = calculerMoyenne(valeurs); | ||
+ | Serial.print(" | ||
+ | Serial.println(moyenne); | ||
+ | | ||
+ | delay(1000); | ||
+ | } | ||
+ | |||
+ | int lireCapteur() { | ||
+ | // Remplacez ceci par le code pour lire votre capteur digital | ||
+ | // Exemple : int valeur = digitalRead(pinDuCapteur); | ||
+ | int valeur = random(0, 1023); | ||
+ | return valeur; | ||
+ | } | ||
+ | |||
+ | void mettreAJourTableau(int nouvelleValeur, | ||
+ | // Décaler les valeurs vers la gauche | ||
+ | for (int i = 0; i < N_moy - 1; i++) { | ||
+ | tableau[i] = tableau[i + 1]; | ||
+ | } | ||
+ | // Ajouter la nouvelle valeur à la fin du tableau | ||
+ | tableau[N_moy - 1] = nouvelleValeur; | ||
+ | } | ||
+ | |||
+ | float calculerMoyenne(int *tableau) { | ||
+ | int somme = 0; | ||
+ | for (int i = 0; i < N_moy; i++) { | ||
+ | somme += tableau[i]; | ||
+ | } | ||
+ | return (float)somme / N_moy; | ||
+ | } | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Détails Techniques ==== | ||
+ | |||
+ | **Tableaux et Pointeurs en C/C++** : Lorsque vous passez un tableau à une fonction, vous passez en fait un pointeur vers le premier élément du tableau. Ainsi, int tableau[] et int *tableau sont équivalents dans le contexte des paramètres de fonction. Les deux notations permettent à la fonction de modifier les éléments du tableau original. | ||
+ | |||
+ | |||
+ | **Accès aux éléments** : Vous pouvez accéder aux éléments du tableau en utilisant l' | ||
+ | |||
+ | |||
+ | En résumé, vous pouvez utiliser l'une ou l' |