Atelier Interactivité temps réel :
initiation à Processing

I - Initiation Processing & capteurs - Jour 1

1 - Installations logicielles

a - Processing

Les participants peuvent installer eux-même le logiciel avant la formation, en téléchargeant le fichier correspondant à leur système d'exploitation via la page :

Téléchargement du logiciel : http://www.processing.org/download/
Documentation : http://www.processing.org/learning/
Manuel en français pour débuter : http://fr.flossmanuals.net/Processing/print

b - Configuration du sketchbook

Le sketchbook sert à ranger les sketchs personnels et est indispensable pour installer des libraies supplémentaires.

Menu File / Preferences
LIgne "Sketchbook location" en haut : vérifier ou choisir un dossier pratique.

Préférences

Les libraries supplémentaires doivent être téléchargées, décompressées et placées dans un répertoire "libraries" lui-même situé dans le sketchbook.

c - Installation d'une library Midi

Nous utilisons RWMidi. Il faut l'installer dans le sketchbook.

RWMidi Processing MIDI Library : http://ruinwesen.com/blog?id=95
Téléchargement : http://ruinwesen.com/support-files/rwmidi.zip

Quelques renseignements : http://ruinwesen.com/support-files/rwmidi/documentation/RWMidi.html

 

2 - Entrées / sorties Midi

a - Installation d'interfaces Midi-USB

But : ajouter au moins une entrée Midi et une sortie Midi à un ordinateur.

Possibilités : interfaces Midi-USB, cartes sons, mixettes ou claviers USB.

Interfaces sans drivers : compatibles avec seulement les derniers OS.

Interfaces avec drivers : installer d'abord le pilote à partir du CD puis brancher l'interface.

b - L'environnement de programmation

Avant de coder la configuration Midi, il faut aborder l'environnement Processing.

Menus
Zone d'édition
Play / Stop
Console
Onglets

Distinction Edition / Exécution

c - Configuration en Processing

Configurer le Midi revient à configurer le port Midi et le canal dans un sketch.

Contrairement à des logiciels de programmation modulaire comme Pure Data ou Isadora, les périphériques Midi ne se configurent pas dans l'environnement de programmation (Processing) mais individuellement dans chaque sketch.

Il faut :
- importer la library Midi (import rwmidi.*;) ;
- détecter les périphériques (Devices) Midi branchés sur l'ordinateur ;
- et ouvrir une session pour un périphérique précis.
- Les valeurs des capteurs sont reçues grâce à la méthode controllerChangeReceived().

Les ports Midi disponibles sont affichés grâce à un println (ils correspondent à des Devices). Les entrées sont numérotées dans une liste Input Devices, les sorties sont dans une liste Output Devices. Ces ports peuvent être matériels ou virtuels.

Liste de Devices

Cette liste permet de
- vérifier que le matériel est bien reconnu en Processing ;
- connaître le numéro de périphérique de l'interface qui nous intéresse.

sketch testcapteur01.pde

3 - Notions de chaîne d'acquisition des données

Ces notions, très liées en pratique au matériel, seront revues en détail lors des manipulations de capteurs.

a - Branchement du matériel

Le matériel utilisé pour débuter et tester les branchements sera limité à un capteur simple d'emploi branché sur une interface sans réglage particulier (1 ou 2 entrées analogiques).

Chaîne d'acquisition.

 

 

Variation physique

Capteur

Rallonge

Interface 1 capteur vers Midi

Câble Midi

Midi-USB

Ordinateur

b - Test de fonctionnement

- Brancher un capteur -> rallonge -> interface -> entrée Midi
- Sketch testcapteur01.pde
- Vérifier et/ou choisir le bon périphérique Midi dans la liste
- Si le matériel est correctement branché, des chiffres défilent dans la console témoin lorsque le capteur est actionné.

println

Les raisons pour lesquelles cela ne marche éventuellement pas :

- Le capteur n'a pas été actionné et n'envoie rien tant qu'on ne le touche pas.
- Erreur de branchement entre prise Midi In et Out
- Oubli de brancher l'alimentation de l'interface
- Interface Midi-USB non reconnue ou mal configurée (normalement traité au chapitre précédent)
- Interface Midi débranchée / rebranchée sans redémarrer Processing

Attention au nombre de lancements d'un sketch Midi ! (close, exit)

c - Pong

Une partie de Pong en capteurs pour se changer les idées.

4 - Panorama des capteurs simples

a - Capteurs mécaniques

Interrupteurs

  • Boutons
  • Fins de course
  • Tapis sensitif

Potentiomètres

  • Linéaires
  • Rotatifs, infinis, joysticks
  • Géants, fil résistif

Force

  • Pression FSR
  • Dalle posture
  • Position ribbon
  • Flexion
  • Etirement

Ondes mécaniques

  • Piezo

Dynamiques

  • Accéléro / Inclinomètre
  • Gyromètre

b - Interaction à distance

Ondes lumineuses

  • Intensité lumineuse LDR
  • Proximètres IR
  • Barrières
  • Pyroélectriques / Mouvement de chaleur

Ondes sonores

  • Télémètre ultrason
  • Volume sonore

Magnétisme

  • Boussole
  • Capteur magnétique de proximité

Autres

  • Vitesse / Radar à effet Doppler
  • Détecteur capacitif

Météo

  • Température
  • Souffle / Pression atmosphérique
  • Volume sonore
  • Piézo

5 - Bases de Processing

a - Les débuts

Le ;
méthodes ()
print

size()
formes
couleurs

b - Types et variables

int
float
color

c - setup() et draw()

frameRate()

d - Conditions

if, else

e - Boucles

for