Information International, Inc. ou Triple-I est une compagnie qui réalisait des films en image de synthèse au début des années 80. Ils produisirent le film suivant pour démontrer à Disney qu'il était possible de réaliser « Tron ». C'est un collage d'extraits de leurs réalisations, on retrouve parmi d'autres « Adam Powers, the Juggler », une animation créée à partir de capture de mouvements rudimentaire, un exploit pour l'époque!
Après « Tron », Triple-I participera à des films comme « Star Wars », « le Trou Noir », « Westworld », « Rencontres du 3e type », etc.
Codelab est un forum consacré aux pratiques expérimentales de création (image vidéo, son, musique) qui utilisent des langages de programmation (processing, chuck, supercollider, livecode, etc.), de programmation visuelle (pure-data / gem, vvvv, etc.) ou l'expérimentation électronique (construction d'interfaces et d'instruments, circuit-bending, etc.)
Ce forum est un espace de discussion francophone, de partage d'idées et d'entraide ouvert à ceux qui utilisent ces techniques et à ceux qui souhaitent les découvrir.
Pour que l'utilisation du forum soit adaptée à l'image, au son, à la vidéo et au code, différentes fonctions sont en place :
- insertion d'éléments audio et vidéo dans les messages avec affichage intégré
- hébergement de fichiers sur le forum : images, son et vidéo
- ajout de pièces jointes,
- coloration syntaxique du code,
- URL courtes et faciles à retenir,
- fils RSS pour le suivi des discussions, ou suivi par email,
- pas de publicité (ni bannières, ni google ads, ni pop-ups).
Pour participer au forum et profiter de ces fonctions, il est nécessaire de s'inscrire, les visiteurs occasionnels du site peuvent poster des messages dans le forum hello-world sans être inscrit.
Un forum annonces est également disponible pour y présenter les manifestations, workshops, concerts, associations, etc. en rapport avec le sujet du forum.
Comment brancher quelques capteurs et rendre les résultats accessibles sur un site internet ? Comment créer des objets électroniques qui communiquent entre eux sans fils ? Comment créer un jeu interactif à distance ? Ce livre est un manuel de magie noire guide progressif pour connaître et utiliser les technologies nécessaires pour connecter des montages électroniques et les faire communiquer entre eux, avec un ordinateur ou avec internet.
En programmation logicielle, la méthode majoritairement utilisée aujourd'hui est celle de l'orienté objet, programmes et sous-programmes sont conçus comme des objets physiques avec des propriétés et des fonctions. Pour utiliser un objet, il suffit de connaître son interface, ses propriétés et méthodes, sans avoir besoin d'en connaître le fonctionnement interne. Bien souvent, les objets électroniques peuvent être conçus de la même manière en assemblant des modules dévolus à une seule fonction. Quelques soient ces objets (capteur, grille-pain, logiciel d'email sur un portable, base de données en ligne), il est possible de les faire interagir à condition de comprendre comment ils communiquent.
C'est l'approche choisie par Tom Igoe dans «Making Things Talk», qui ne rentre pas dans les détails approfondis du fonctionnement électronique, mais décrit les interfaces et leur mise en oeuvre. Au fil des chapitres, de nombreuses techniques et protocoles de communication sont passés en revue, à travers des montages fournis avec le code nécessaire (php, processing, arduino/wiring). Des photos et schémas viennent compléter les explications et l'ensemble est complet et clair.
Au total, 26 projets donnent un large aperçu des modes de communication entre objets électroniques, ordinateurs et internet. Quelques exemples de projets et de technologies abordées dans le livre :
- un jeu de pong controlé par les bras d'un singe en peluche équipée de capteurs, (communication série entre un microcontroleur et un ordinateur), également en version sans fil (communication par bluetooth)
- un chat en réseau! un coussin pour chat (!) équipé de capteurs et de webcam : lorsque le chat s'y installe, un email est envoyé avec une photo prise par la webcam.
- une seconde version du jeu de pong, chaque joueur participant au travers d'une interface physique au jeu sur un serveur (connexion par socket d'un microcontroleur à un serveur)
- différents types d'émetteurs récepteurs pour établir une communication directe entre microcontroleurs : infrarouge, ondes radio, xbee
- utilisation d'un compas digital, d'un accéléromètre, du protocole GPS (geolocalisation et positionnement dans l'espace physique), reconnaissance de couleur avec une webcam, RFID et domotique (X10), envoi de SMS par téléphone portable, décodage de codes barres à 2 dimensions (QR codes)
L'auteur, Tom Igoe enseigne dans la section Telecommunications Interactives (ITP) de la Tisch School of the Arts (université de New York). Les cours qu'il donne portent sur l'électronique interactive et la mise en réseau. A travers cet enseignement et ces recherches il explore les technologies numériques pour capter les expressions du corps humain et y répondre. De nombreux éléments de ces cours sont disponibles sur le web : pcomp, ainsi qu'à travers deux blogs : notes on physical interaction et codes, circuits & construction
Making Things Talk, Tom Igoe, editions O'Reilly, 2007, ISBN-13 : 978-0-596-51051-0
Making Things Talk : Un blog avec des examples de codes, des mises à jour et des ajouts au livre.
Arduino est un ensemble open-source pour l'expérimentation électronique, qui permet de créer des prototypes d'objets ou d'environnements interactifs. L'équipe à l'origine de ce projet a pour intention de proposer un matériel peu onéreux, ouvert à une communauté d'utilisateur et ne réclamant pas des connaissances poussées en électronique. L'essentiel étant d'acquérir les connaissances techniques nécessaires à la réalisation des projets, au fur et à mesure de ses besoins. Deux éléments composent Arduino :
* une partie matérielle, sous forme d'une carte électronique (différents modèles sont disponibles, voir ci-dessous) équipée d'un microcontroleur (l'équivalent d'un ordinateur très compact, peu gourmand en énergie). La carte électronique peut recueillir des signaux numériques ou analogiques émis par des capteurs de tous types, les analyser et les transmettre, cela fonctionne également dans l'autre sens, divers actionneurs peuvent être commandés par l'intermédiaire de la carte (lumières, moteurs, etc.).
* un logiciel : un environnement de programmation, basé sur processing permet de créer les programmes et de communiquer avec la carte électronique. une fois programmée, arduino peut traiter des informations venant de différents types de capteurs, controler d'autres équipements électroniques, ou communiquer avec un ordinateur. Un langage spécifique est utilisé pour programmer la carte, basé sur C/C++. L'environnement, développé en java, peut-être installé sur Linux, MacOS ou Windows.
quelques projets réalisés avec arduino :
Sotavento : une création sonore réalisée à partir du mouvement du vent dans les branches d'arbres situés dans plusieurs pays. Ces mouvements sont captés par des accéléromètres, traduits en son et composent une abstraction musicale (vidéo et explications techniques)
Arduino Pong : Une console de jeux rudimentaire, basée sur Arduino, à brancher sur une télévision et retrouver l'ancêtre des jeux vidéos! -> arduinopong (circuit + code)
Arduino Punk Console : un séquenceur simple (à 8 pas) basé sur Arduino et un générateur de notes : arduino punk console (photos + code + circuit + construction)
Solenoid concert : un séquenceur réalisé avec pure-data déclenche 8 actionneurs solénoïdes qui frappent les objets environnants et produisent des rythmes. La carte arduino transmet les commandes issues de pure-data aux solénoïdes par l'intermédiaire d'une carte à relais. (projet de Reduzent / Roman Haefeli)
Arduino est décliné en différents modèles : Arduino Diecimila est la version la plus récente (basé sur l'Atmel ATmega 168, avec 16 KO de mémoire flash), nommé ainsi car plus de 10 000 cartes arduino ont été produites. Arduino mini est une version très compacte pouvant être enfichée dans une platine d'expérimentation. Arduino BT, intègre un module Bluetooth pour la communication sans fil. Lilypad Arduino est une version créée pour les projets textiles interactifs (basée sur l'ATmega 168V de faible consommation). Arduino NG, est la version USB de la carte, quasi-identique à la Diecimila. Arduino étant un projet open-source, d'autres cartes ont été créées par des tiers : freeduino, boarduino, etc.
De quels éléments se compose une carte arduino ?
(1) fiche pour brancher une alimentation extérieure,
(2) port USB, pour la programmation de la carte ou pour transmettre des données à un ordinateur (une fois programmée, arduino peut fonctionner sans ordinateur, et relier capteurs & actionneurs). Le port USB peut également fournir l'alimentation nécessaire à la carte et de petits circuits, à condition qu'ils ne soient pas gourmand!,
(3) une puce spécialisée pour la gestion de l'USB (FT232RL),
(4) 14 ports digitaux d'entrée-sortie, dont 3 peuvent émettre des signaux en modulation de largeur d'impulsion (PWM, pulse width modulation), 6 sur la version diecimila
(5) port de programmation ICSP, afin de programmer le microcontroleur en place. Dans les cartes arduino produites, un premier logiciel est intégré sur le microcontroleur (le bootloader), ce qui permet de le programmer en le reliant directement à l'ordinateur, évitant l'étape du bootloader.
(6) bouton de reset (sur la version diecimila, le reset peut-être effectué depuis l'ordinateur)
(7) le microcontroleur, ici il s'agit d'un Atmel ATmega8 (8 KO de mémoire flash, 1 KO de SRAM, 16 MHz). Les version récentes sont équipées d'un Atmel ATmega168 avec 16 KO de mémoire flash.
(8) 6 ports analogiques d'entrée pour relier des capteurs,
(9) masse, source 5v et source 9V (faible puissance) pour alimenter les capteurs et circuits externes.
Les schémas et les plans de constructions de la carte électronique sont disponibles en open-source, mais on peut également se la procurer déjà montée ou en kit (pour la France, il faut compter 45e environ, port et taxes comprises auprès de PCB-europe)
* site principal : arduino.cc (description des différentes cartes, fichiers CAD des circuits électroniques, tutoriels et le playground, un wiki ou l'on trouve, entre autre, des informations pour la mise en oeuvre d'arduino avec vvvv, processing, pure-data, flash, etc.)
* arduino programming notebook : Un guide de référence du langage de programmation de l'arduino, pour les débutants. Avec également quelques schémas de circuits simples et quelques programmes pour les taches communes (livre de 40 pages édité sur lulu.com, sous licence CC, disponible sur papier ou gratuitement en téléchargement.).
* arduino tutorial par Ladyada.
* World famous index of freeduino knowledge : une vaste compilation de liens sur tout ce qui concerne arduino réunit sur une même page.
* le blog arduino, pour les nouvelles récentes
* des photos de projets basés sur arduino, en suivant le tag arduino en flickr et des liens postés sur del.icio.us
L'installation « Out of Bounds » de Chris O'Shea a permis aux visiteurs du musée du design de Londres d'apercevoir les lieux du musées auxquels il n'ont pas accès (bureaux, réserves, archives, etc.). Une torche « à rayons X » maniée par le visiteur traverse le mur et laisse apparaître progressivement l'image de la pièce selon le déplacement du rayon lumineux.
image (extraite d'une animation) créée avec VVVV par Desaxismundi
VVVV est un environnement de programmation dédié à la synthèse visuelle en temps réel, il permet la manipulation et le traitement de données textuelles, sonores, graphiques ou vidéo. Les programmes VVVV sont conçus sous forme visuelle, en reliant des « boîtes » (les « nodes ») qui remplissent chacune une fonction précise (on retrouve ce type de programmation dans pure-data ou max-msp). VVVV est également conçu pour relier des interfaces physiques (capteurs divers, joysticks, écrans tactiles, etc.) avec des données audiovisuelles.
exemple d'un patch avec VVVV, à droite le programme, à gauche le résultat
VVVV se base sur la technologie DirectX, propre à Microsoft et ne fonctionne que sur les plateformes windows. Cette technologie fut développée à l'origine pour donner une base commune aux fabricants de cartes graphiques, et faciliter la tache des programmeurs de jeux vidéo, qui peuvent alors coder sans se préoccuper des caractéristiques de chaque carte graphique. VVVV permet de programmer directement les unités de calcul des cartes graphiques, et de profiter au mieux de leurs capacités 3D en utilisant les shaders.
Bien que doté de capacités sonores, VVVV n'est pas adapté à la synthèse audio, par contre certains composants permettent d'analyser le son en temps réel et de créer des animations graphiques synchronisées, réagissant aux changements de la musique. C'est donc un environnement adapté aux pratiques de création visuelle des VJ (visual-jockey).
Parmi les autres points forts de VVVV : l'analyse vidéo en temps réel, à partir de webcam ou de caméras qui permet, via les extensions freeframe de détecter les mouvements, de suivre des objets ; l'utilisation de plusieurs écrans pour diffuser ou de plusieurs ordinateurs pour répartir la charge de calcul (« boygrouping ») ; la simulation physique (gravité, collision, etc.) en temps réel pour les animations 3D (basée sur la librairie open-source Open Dynamics Engine) ; une palette étendue de protocoles de communications (série, RS232, MIDI, DMX, OSC, etc.) qui permet d'y relier de nombreux appareils : lecteurs DVD, écrans tactiles, équipement MIDI, joysticks, et divers capteurs et montages électroniques réalisés sur mesure.
VVVV est développé en Allemagne par une équipe de 4 personnes, il n'est pas en open-source mais son utilisation est gratuite dans un cadre non-commercial. Des licences sont proposées pour les usages commerciaux, l'appréciation est laissée à chaque utilisateur selon quelques règles établies par les développeurs.
image (extraite d'une animation) créée avec VVVV par Sanch
Quels disques emmener avec soi pour un trip intergalactique? Même si la question n'est pas d'une urgence extrême, il vaut mieux prévoir quelques galettes à écouter, bloqué dans un champ d'astérïdes ou en attendant la correspondance pour Betelgeuse. Voila de quoi remplir le cabas du routard galactique :
Sounds for the spaceset, une collection de mash-ups réalisée par les «Robotic Intergalactic Astro-Artists» de la RIAA, hommage aux pionniers de la musique électronique pour une «excursion glamour dans le système solaire», auxquels se mélangent les voix de quelques créatures bien terrestres. Dans la première catégorie : Dick Hyman, Jean-Jacques Perrey, Esquivel, Bruce Haack, Delia Derbyshire, Vangelis, Joe Meek, Kraftwerk, Pierre Henry, etc. Et pour la seconde : Frank Sinatra, Justin Timberlake, Roxy music, Ella Fitzgerald, Queen et Céline Dion! => RIAA, Sounds for the spaceset
Telstar Will Go On - Let It Whip It
Salvador Dali Teaches Rex Harrison How To Say Butterfly
Interplanetary Materials
Comfort Stand est un netlabel qui a produit et diffusé 80 albums, 16 singles et 8 compilations entre 2003 et 2006 (l'ensemble sous forme numérique). Aujourd'hui plus de nouvelles sorties, mais les albums restent disponibles sur leur site. Ils se décrivent, comme une «organisation non-commerciale, pour les artistes et que des artistes font fonctionner». Cette compilation éclectique est produite par Otis Fodder, musicien (membre des Bran Flakes) et animateur d'émissions de radio musicales. => Interplanetary Materials sur le site de Comfort Stand
Si le voyage dans l'espace s'éternise et que l'ennui vous guette, voila de quoi alimenter une nostalgie terrienne : des bandes audio rescapées des poubelles d'Hollywood, enregistrées pendant le tournage de la première série de Star Trek (exactement, ces bandes viennent de la 3e saison). => Trek Bloopers (sur wfmu)