Comment introduire le monde réel dans nos applications ? Comment interagir avec nos créations numériques dans le monde concret qui nous entoure ? Une solution relativement facile à mettre en œuvre consiste à utiliser la plateforme de développement matériel Arduino et de l'interfacer avec Pduino ou Msg.
L’Arduino est une carte électronique en matériel libre destinée notamment à la création artistique interactive. Elle permet de servir d'interface entre le « monde réel » et l'ordinateur, en y branchant par exemple des capteurs ou des actionneurs (moteurs, lumières, etc.), en la reliant en USB à un ordinateur et en la pilotant à l'aide d'un logiciel de gestion d’événements multimédias interactifs comme Pure Data. Elle peut aussi être utilisée sans ordinateur de façon autonome (possibilité que nous n'étudierons pas ici).
Pour davantage d'information sur Arduino, nous vous invitons à consulter les ressources francophones et anglophones disponibles sur Internet. Le site officiel du projet Arduino est accessible à l'adresse http://www.arduino.cc
La carte Arduino est connectée à l'ordinateur par un port USB. L'actionneur est un bouton (button) sur une plaque d'essai. Quand on appuie sur le bouton, la LED intégrée dans la carte s'allume.
L’Arduino est une carte basée sur un micro-contrôleur (mini-ordinateur) Atmel ATMEGA8, ATMEGA168 ou ATMEGA328. Elle dispose dans sa version la plus basique de 1 Ko de mémoire vive et 8 Ko de mémoire flash pour stocker ses programmes. La carte basique dispose de 13 entrées ou sorties numériques et de 6 entrées analogiques sur lesquelles on peut brancher capteurs et actionneurs. Il existe de nombreuses autres versions et des déclinaisons de l’Arduino. La carte dispose d’un logiciel système interne (modifiable) et des programmes utilisateurs.
Pour relier Pure Data et une carte Arduino, nous allons présenter ici une méthode simple, mais qui offre néanmoins de nombreuses possibilités. Cette méthode est basée sur l'utilisation d'une librairie qui implémente un protocole de communication entre la carte et l'ordinateur-hôte. En termes plus simples, ces librairies permettent de faire dialoguer facilement la carte et l'ordinateur en permettant de modifier directement depuis l'ordinateur la configuration de la carte sans avoir à modifier le code que l'on y a chargé au départ. Deux librairies existent, l'une appelée Firmata et l'autre Msg. Firmata est un projet de Hans-Christoph Steiner et outre la librairie qui doit être installée sur l'Arduino, c'est avec un patch Pure Data dédié que l'on va pouvoir décider si les connecteurs de la carte se comportent comme des entrées ou sorties. Dans Msg, c'est une application séparée qui donne une représentation graphique de la carte Arduino où la configuration des broches se fait. Msg, de Thomas Ouellet Fredericks , permet d'utiliser cette même interface avec d'autres environnements de programmation car il utilise le protocole OSC.
Installer la plateforme de développement Arduino :
Normalement, tout s'est déroulé sans accroc, et vous pouvez quitter l'application Arduino IDE.
[comport]: available serial ports: 0 /dev/ttyS0 1 /dev/ttyS1 4 /dev/ttyUSB0 <-- arduino
Choisissez le port correspondant dans les bouton radio "serial port#" (ici 5e bouton, le premier = 0)
Le principe est simple : l'objet [arduino] accepte des messages qui constituent des commandes pour l'Arduino, permettant ainsi de configurer les ports à la volée.
Le patch arduino-test permet d'explorer les fonctionnalités qu'offre l'objet [arduino]. Voici quelques pistes :
Pour capturer les informations provenant de senseurs branchés sur un port analogique, il faut envoyer le message [pinMode analog n< (avec n le numéro du port) à l'objet [arduino]. Le patch ci-dessus permet de le faire simplement en choisissant le mode dans les boutons radio. Attention cependant à choisir les bons, le nombre de ports et leurs fonctionnalités changent d'un modèle à l'autre.
Les entrées numériques se configurent de la même façon, en utilisant [pinMode digital n< pour les ouvrir.
Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.
Vous devriez rafraîchir la page.