Programmation

Les codes et programmes d’Interface-Z

Accueil > Outils > Visualisation des données > Affichage des données en Processing

Affichage des données en Processing

Mis à jour le mercredi 31 mai 2017, par zandrine

Outil : Affichage des données

Pour télécharger un sketch, clic droit sur l’image ou le lien et choisir "Enregistrer la cible sous...". Pour afficher le programme, clic normal. Certains sketches sont en archive zip.

 

La visualisation des données provenant des capteurs est indispensable à leur utilisation. Un affichage graphique (avec un slider) permet généralement de mieux se rendre compte du comportement d’un capteur qu’un simple affichage par nombre. De même, un affichage des données au cours du temps apporte plus d’informations qu’une visualisation instantanée de la donnée courante (= la plus récemment envoyée par le capteur). L’affichage peut être ensuite dupliqué pour par exemple comparer l’effet d’un filtre par rapport aux données brutes.

Les deux sketches ci-dessous sont également disponibles sur les pages des interfaces 28 voies et 2 analogiques.

La visualisation des données dans ces sketches est indissociable de l’idée de registre à décalage.

Patches de test

Sketch 1 : Test et visualisation des données pour deux capteurs analogiques

registre.
Archive affiche_2_ana.zip

Ce sketch utilise la même réception des données en Midi que pour le module 2-Ana. Cette partie peut facilement être modifiée pour s’adapter à d’autres données (voir par exemple les sketches de réception pour les autres interfaces à capteurs).

Il permet aussi un affichage graphique des deux capteurs, à la fois sur des sliders verticaux et sur des nombres.

Les nombres sont affichés par l’intermédiaire de text(valeur, position en x, position en y). text permet d’afficher des chaînes de caratères ou directement des nombres.

Les sliders verticaux sont composés de deux rectangles : rect(x, y, width, height). Le rectangle coloré est immobile et indépendant des valeurs des capteurs. La barre blanche est positionnée en fonction de ces valeurs, qui sont contenues dans des variables globales.

Exemple : dans le sketch affiche_2_ana, la barre du slider correspondant au premier capteur est dessinée par rect(10, 254-(valeur1*2), 20, 2).

  • 10 est la position en x du début du rectangle,
  • 254-(valeur1*2) est la position en hauteur,
  • 20 est la largeur
  • et 2 la hauteur de la barre.

La valeur du capteur est contenue dans la variable valeur1. Elle n’est pas utilisée directement juste pour des raisons esthétiques : la fenêtre graphique fait 256 pixels de haut et non 128, donc valeur1 est multipliée par 2 pour que la barre parcoure toute la hauteur de la fenêtre ; il est de plus visuellement mieux d’afficher le 0 en bas et le maximum en haut, or la coordonnées 0 en y correspond au haut de la fenêtre, d’où l’inversion des données avec la soustraction 254 - le reste.

Sketch 2 : Test et visualisation des données pour tous les capteurs analogiques d’un module 12 ana / 16 num

Visualisation des données en provenance d'une carte 12 entrées analogiques en Midi en utilisant Processing.
Archive capt_12_ana_registre
(contenant code et police)

Les dernières données du capteur sont mémorisées dans un registre à décalage qui conserve les 10 dernières données et est remis à jour régulièrement. Dans ce sketch, le débit dépend du taux de rafraichissement de l’affichage à l’écran, mais contrairement à l’actor créé dans Isadora, l’affichage des différents ascenseurs graphiques ne repose pas sur une boucle d’affichage à l’écran. Les sliders sont indépendants les uns des autres.

Chaque slider est composé d’un rectangle étroit dont la hauteur dépend de la valeur donnée par le capteur. Le fond coloré est un autre rectangle, commun à tous les sliders et indépendant des changements de valeur. Les 10 sliders sont dessinés à partir d’une boucle for qui permet de décaler simplement les rectangles blancs dans l’espace.

La donnée la plus récente est affichée à gauche. Les 10 valeurs contenues dans le registre à décalage sont accessibles à tout moment. La même boucle for qui gère la position des sliders permet de récupérer les valeurs mémorisées et de les assigner à la hauteur des rectangles blancs.

La réception des données est spécifique du module 12 ana / 16 num mais le registre à décalage et l’affichage peuvent facilement être adaptés à d’autres interfaces.