traitement de donnée

Bonjour tout le monde,

problème du jour j'ai un capteur de distance via ultra son qui me retourne une distance en cm toutes les X secondes, ici toutes les 100ms. Mais quand on regarde bien par fois le capteur chie un peu on passe de 15 cm a 467 ou en tout cas à une aberration puis sa reviens à la normal. Ce comportement est logique car sa peut être due à une perturbation, mauvaise interprétation ou je ne sais quoi d'autre c'est pour quoi j'aimerais mettre en place un traitement des données reçues en temps réel.

Dans mon idée je créer un tableau de taille 4 par exemple je le rempli avec les 4 premières valeurs reçues par le capteur puis je fais plusieurs tests comme moyenne sur les 4 nombres, écart type etc pour pouvoir depuis 4 valeurs dont potentiellement 1 voir 2 sont fausses avoir 1 valeur juste.

Problème je ne sais pas comment effectuer cet "enregistrement" de donnée reçue.

Any idea ?

Salut,

Désolé je comprend pas, la solution est ta phrase. L'enregistrement ici consiste à attribuer une valeur à une variable, soit la base de la base de la base en programmation

oui c'est ca mais je ne sais pas techniquement comme prendre juste 4 valeurs de mes données qui arrives de traiter puis de le re faire avec les 4 données d'après. Car mon capteur m'envoi une valeur toutes les 2ms mais je ne sais pas prendre la une deux trois quatre les traiter puis recommencer.

Il te faut un tableau de valeurs
int valeurs[3]; //tableau de 4 valeurs int ( indexées de 0 à 3)
int index;

Pour remplir ton tableau tu fais
For (index= 0; index <4; index++) valeurs[index] = mesure; //charge le tableau avec 4 mesures

Ensuite tu accèdes a chaque élément du tableau avec
valeurs[0] // première valeur
...
valeurs[3] // dernière valeur

@B83s : int valeurs[3] définit un tableau de 3 valeurs, indexées de 0 à 2 !

L'argument de construction définit la taille du tableau, pas son index maximum.

Mais bien sur :o

Ou avais-je la tête ?

:wink: