Bonjour (question de néophyte)
Lors d'acquisition de valeur physique par un ADC pour un capteur, il est souvent procédé à plusieurs mesures successives qui sont ensuite moyennées.
J'ai rencontré aussi une autre solution, malheureusement je ne retrouve pas la source, qui est de lire un certain nombre de fois l'ADC, classer par ordre croissant les valeurs lues, puis ensuite prendre la valeur du milieu ou centrale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 long Average(byte times) { long sum = 0; for (int i = 0; i < times; i++) { sum += read_ADC_value(); } return sum / times; }
J'ai l'impression que cette seconde technique est plus efficace pour exclure les valeurs extrême comme celles très perturbées par des parasites.
Peut-être aussi que cette technique est plus rapide que de sommer puis diviser.
Je dois préciser que la valeur récupérée n'est pas sensée bouger dans le laps de temps de la mesure. (par exemple 10 mesures successives assez rapidement sans que la valeur physique ne soit changée)
Qu'en pensez vous ? Auriez vous d'autres observation positive ou négative par rapport à ces approches ?
Partager