Programmation

Les codes et programmes d’Interface-Z

Accueil > Outils > Traitement des données > Analyse > Double comparateur

Double comparateur

Quel que soit l’environnement de programmation utilisé, l’analyse permet d’extraire des événements utilisables d’un flux de données de capteur. Le double comparateur est utile en particulier pour les capteurs :

Ces capteurs ont comme point commun d’avoir un niveau de repos non nul et des variations croissantes ou décroissantes de part et d’autre de ce point.

Observation des données

Comme pour tout traitement de données issues de capteurs, il faut pour commencer afficher les données au cours du temps dans son logiciel préféré et les observer

  • Lorsque le capteur est au repos ;
  • Lorsque le capteur détecte un mouvement, proche ou lointain.

Le capteur au repos envoie des valeurs centrées autour d’une valeur non nulle, 62-63 (en Midi standard) par exemple.

Lorsque le capteur détecte une variation de son mesurande, les données augmentent ou descendent et oscillent autour de la valeur de repos. La détection d’un mouvement, pour un pyroélectrique, ou d’une vitesse, correspond donc à plusieurs variations autour de cette valeur de base, ce n’est pas juste une augmentation ou une diminution des valeurs avant retour au repos.

Cette observation fournit plusieurs informations nécessaires à l’utilisation efficace du capteur :

  • La valeur de repos envoyée par le capteur (autour de 62 en Midi standard) ;
  • La présence ou l’absence de bruit parasite, et son ampleur s’il y en a ;
  • L’instant correspondant au début de la détection ;
  • Les valeurs pour lesquelles le programme commence à prendre en compte la détection.
Etat
Informations
Repos - Valeur de repos
- Amplitude d’un éventuel parasitage
Variation - Valeurs limites autour du repos
- Instant de variation

Le bruit peut être dû à des flux d’air dans la pièce (dans le cas du pyro) ou à des parasitages le long de la rallonge du capteur.

Choix du type d’action déclenchée

Selon les logiciels, nous proposons deux patches d’exemples : déclenchement ou maintien d’action.

Un capteur est souvent utilisé pour déclencher une action (lecture d’un son, passage à une autre video, animation lumineuse, etc). Dans le patch, il faut donc prévoir plusieurs étapes :

  • Détecter le début de la variation de mesurande pour déclencher l’action dès que la détection a lieu ;
  • Ne pas tenir compte des oscillations de valeurs qui suivent cette première détection, pour ne pas déclencher maladroitement plusieurs fois de suite la même action.

Si l’action est au contraire maintenue tant qu’il y a détection (ou mesure), le traitement des données est différent. Toutes les oscillations sont prises en compte pour maintenir continuellement l’action (ou l’inaction...). Celle-ci change lorsqu’il n’y a retour à la valeur de repos.

Ces exemples sont utiles en particulier pour le détecteur de mouvement. Les autres capteurs concernés peuvent de plus être utilisés pour les valeurs qu’ils mesurent, en plus de l’instant de la détection. Le comparateur double, dans leur cas, est plus un outil de filtrage que d’analyse : il sert à déparasiter, à débruiter les données, à ne prendre en compte que les variations significatives dans le flux de données.

Traitement des données

Dans les deux cas de figure, la détection de mouvement fait intervenir un double seuil. Les données du capteur sont en permanence comparées à deux seuils dont la valeur est établie par l’observation des données. Ces deux seuils doivent encadrer la valeur de repos et correspondre aux valeurs limites de détection d’un mouvement. Ils ne doivent pas serrer de trop près la valeur de repos pour éviter de prendre en compte le parasitage ou des fluctuations dans l’air qui provoqueraient une variation lente d’une ou deux unités.

Données du pyro et double seuil.

Le seuil inférieur peut être de 3 ou 4 unités sous la valeur de repos, le seuil supérieur de 3 ou 4 au-dessus. Ces valeurs sont arbitraires et augmentent en cas de parasitage constant.

Cette analyse est détaillée au cas par cas dans les pages de chaque logiciel.