- Ces patches correspondent au capteur de Vibrations Piezo.
- Documentation des capteurs simples, ensemble des docs utiles.
- Ensemble des patches disponibles actuellement.
- Sketches Processing pour capteur Piezo.
Réception et traitement des données
Sketch Pg : Détection de l’instant du pic et obtention de la valeur maximale
- Réception des données
Vérifier que les données du capteur arrivent bien dans le logiciel. En cas de doute, identifier le canal Midi de l’interface ou l’entrée correspondant au capteur. Dans cet exemple, il y a un capteur branché sur la première entrée d’une carte "2 analogiques" ou d’une carte ZIP. La réception des données se fait grâce à la librairie RWMidi. Une fonction controllerChangeReceived() met à jour un tableau valeur[] dont la première case (valeur[0]) contient les données du capteur piezo. - Affichage des données du capteur au cours du temps
Les données issues du capteur sont affichées dans la console. Si nécessaire, utiliser un affichage temps réel des données du capteur pour voir les pics. - Réglage de la sensibilité du capteur
En observant les données affichées, régler le capteur à l’aide du potentiomètre. Le capteur doit être installé en position d’utilisation, fixé proprement et soigneusement, et le disque piézoélectrique doit être soit collé soit pincé avec une plaque sans qu’il soit tordu ou trop écrasé. Tester des chocs d’intensité variable. Pour un fonctionnement optimal du capteur, les pics de données doivent atteindre un maximum de 127 (en Midi standard) lorsque les chocs sont forts, sans saturer, et être tout petits lorsque les chocs sont faibles. La saturation apparaît quand le pic est tronqué à 127 (ce qui ne se voit qu’en affichage echantilloné). - Traitement des données
Ce sketch permet de détecter l’instant du maximum du pic de données et d’en extraire la valeur correspondant à l’intensité de la percussion. La difficulté est de prendre en compte l’état dans le temps du capteur, pas seulement son sens d’évolution, pour extraire un instant. Le traitement se fait dans la fonction de réception et non dans le draw(). En effet le draw() est cadencé au rythme de l’affichage d’écran et rééchantillonerait les données.Le maximum du pic dans les données donne à la fois l’instant et la valeur liée à l’impact. Il se formalise par l’idée que le sens d’évolution était positif auparavant et qu’il devient négatif.