Jeffrey Cross
Jeffrey Cross

Découvrez les coulisses de l'installation d'une exposition d'art interactive à LED

L'artiste berlinoise Simonne Jones - un être humain qui incarne la fusion de l'art, de la science et de la technologie - m'a demandé de concevoir un système d'éclairage interactif pour son installation.Secrets de l'univers (SOTU) est une installation d’art mixte et une performance musicale conçue par Simonne lors de sa résidence d’artiste à Platoon Kunsthalle à Berlin, en Allemagne.

La vision de Simonne était de créer une expérience totalement immersive qui encouragerait les téléspectateurs à explorer leur curiosité à propos de l'existence dans un contexte scientifique. Elle a imaginé une nouvelle combinaison de peintures mixtes explorant des concepts de physique et de cosmologie (de Simonne Jones), un système d’éclairage LED à détection de mouvement, contrôlable sans fil (par ArbitraryY… AKA me) et des visuels personnalisés + performance VJ (de Jem the Misfit). cela a abouti à un spectacle vraiment unique.

Auparavant, j’avais passé 15 ans en tant qu’ingénieur logiciel et système chez Boeing, où je développais des solutions logicielles et informatiques et, sans que personne ne le regarde, fasciné par le processus d’ingénierie des systèmes. Notions d'opération, d'exigences, de simulation, de test, de conception, oh mon dieu! La pensée systémique me fait saliver comme si j'avais les poches débordant de Chick-O-Sticks.

SOTU était le type de projet auquel je n'avais jamais eu la chance de participer dans ma carrière, créant de gros projets. Ce projet satisferait mon désir de concevoir un système de bout en bout. C'était aussi magique que je le pensais.

Peloton Kunsthalle, Berlin, Allemagne.

Simonne Jones et Jemma Woolmore, alias Jem the Misfit, se produisent au Platoon Kunsthalle

Qu'est-ce que SOTU a fait?

En termes simples, SOTU était une série de peintures éclairées par LED, contrôlables, à détection de mouvement, interactives. Une fois déclenché, le système SOTU créerait une expérience d’éclairage pour l’observateur qui complèterait le sujet de la peinture. Comment ont-ils fonctionné?

Tout d'abord, pendant l'exposition, les personnes ont été autorisées à traverser la scène et à interagir avec l'œuvre d'art. Lorsqu'ils entraient dans la «zone d'activation» (AZ, une zone configurable devant la peinture), ses voyants s'allumaient et passaient dans un schéma d'éclairage programmé jusqu'à ce qu'ils quittent cette zone. Si un observateur entrait dans la «Zone d'avertissement» (WZ) (configurable), les voyants clignotaient irrégulièrement en rouge (application de filetage Python froide) jusqu'à ce qu'ils quittent cette zone. C'est une œuvre d'art qui peut dire aux observateurs: «Éloignez-vous de la peinture». (La Mona Lisa a besoin d'un système de sécurité comme celui-ci.)

Mode d'exposition Concept of Operations (ConOps)

Au cours de sa performance, Simonne a joué une partie de sa musique et a utilisé les peintures de manière transparente comme outil de performance. Elle a activé les lumières en dansant devant elles et en les déclenchant avec son arsenal d'instruments de musique.

Mode performance ConOps

Vue d'ensemble du système SOTU

Dans cet article, je vais décrire le matériel impliqué et les fonctions associées. J'aborderai également les sous-systèmes logiciels indispensables au contrôle des peintures avec des instruments de musique. La description système fastidieuse (rappelez-vous que j'ai été ingénieur logiciel chez Boeing pendant plus d'une minute, afin que les détracteurs de la documentation soient prévenus) se trouve dans le document de description du système SOTU.

Un diagramme et une description de chaque composant sont donnés ci-dessous. Au cœur de SOTU se trouve un mashup Raspberry Pi + Arduino. La puissance de calcul de Raspberry Pi et le système d’exploitation Raspbian Linux, associés aux capacités de traitement en temps réel d’Arduino, forment un duo informatique puissant, petit et peu coûteux, idéal pour cette application.

Unité SOTU - Raspberry Pi modèle B, plaque Adafruit Pi, clé Arduino Uno R3, clé USB Edimax USB 802.11n / g / b, carte SDHC 4 Go, classe 4, potentiomètre 10K, protoplate Arduino Sparkfun, capteur Maxbotix LV-EZ1, capteur Sparkfun 16 × 2 afficheurs LCD, bandes de LED RVB analogiques (30 LED / par bande), alimentation 12V 2A (Arduino, LCD, capteur de distance et alimentation à LED), alimentation 5V 2A (Raspberry Pi, alimentation par dongle WiFi)

Fonctions matérielles et système

Tarte aux framboises

Le Raspberry Pi a tiré le gros du traitement:

  • Communications Server - Serveur Open Sound Control (OSC), a traité tous les messages OSC entrants.
  • Serveur Web - Apache httpd. Pour les contrôles LED basés sur le Web
  • Accès à distance - SSH et VNC. SSH pour le développement logiciel à distance sur Raspberry Pi et VNC pour le développement dans l'IDE Arduino.
  • Connectivité sans fil - Connectivité au réseau sans fil SOTU
  • Contrôle par LED - Logiciel de modulation de largeur d'impulsion (PWM) pour la gradation LED

Notez que chaque unité Raspberry Pi était connectée à un réseau sans fil privé appelé «[PLTN]».

Carte de pilotage LED

J'ai fait deux circuits indépendants de transistors et de résistances disposés sur une plaque Adafruit Pi pour alimenter les LED. Cette carte était ensuite attachée au panneau d’E / S Raspberry Pi et servait de point de connexion pour les bandes de LED. Chaque tableau était tapissé de deux bandes contrôlables indépendamment.

Carte de pilotage à LED construite à partir d'un PiPlate Adafruit.

Arduino et Protoshield

Les Arduino et Protoshield étaient responsables de:

  • Détection de distance et mesures de distance - Mesuré la distance d'un observateur
  • Distribution d'alimentation 12V et 5V - Alimentez l'Arduino, le Raspberry Pi, les LED, l'écran LCD et le capteur de distance
  • Écran LCD - Affiche le nom de la peinture

Arduino Uno et le prototype de SparkFun

Capteur de distance et écran LCD

Nous découpons des trous dans chaque toile afin de monter le capteur de distance (centre de la peinture) et l’écran LCD (en bas à droite). Le capteur de distance a été utilisé pour déterminer la distance d’un observateur par rapport au tableau, qui a finalement servi à activer les DEL. L’écran LCD affiche le nom du tableau.

(R) Capteur de distance et écran LCD connectés à l’Arduino Uno. (L) Unité SOTU montée sur le tableau.

Big Bang: Naissance de l'univers par Simonne Jones. Squint… le capteur de distance est monté au point mort

Production

Il a fallu près de deux mois d’achat, d’assemblage et de test pour préparer les six unités. Je devais acheter et recevoir toutes les pièces, souder comme un fou, installer des systèmes d’exploitation et le logiciel SOTU, effectuer des tests fonctionnels et enfin, étiqueter une boîte.

Cette fois ma maison est devenue un laboratoire d'électronique

Unité SOTU assemblée prête à être installée

Simonne et moi associons une assemblée au laboratoire d'artiste du peloton Kunsthalle

Logiciel

SOTU est un système logiciel complexe composé de modules open source, de logiciels tiers, de programmes Arduino personnalisés, d'algorithmes de traitement des données de capteurs de distance, de bibliothèques de commandes et d'effets d'éclairage à LED personnalisées, d'une couche de communication, d'interfaces utilisateur, d'une surveillance de l'état du système et de scripts de maintenance. , Outils OSS / COTS, outils de test et contrôles Web. Respirer. J'ai programmé tout le code personnalisé en Python et PHP.

Architecture logicielle SOTU et diagramme de flux de données

Contrôle de la peinture à l'aide d'instruments de musique

La fonction critique du système consistait à fournir à Simonne un mécanisme permettant d'éclairer les peintures avec ses instruments de musique, à savoir son clavier MIDI et sa grosse caisse. Appuyez sur une touche ou frappez le tambour et allumez les lumières. J'ai construit plusieurs couches d'abstraction pour faciliter la programmation de fonctions d'éclairage personnalisées et l'activation des lumières à partir de sources distantes.

Gradation LED RGB (PWM)

La manipulation des voyants RVB connectés au Raspberry Pi nécessite une modulation de largeur d'impulsion (PWM). Le modèle B ne dispose que d’une seule broche GPIO compatible PWM matérielle. Cette limitation m'a obligé à utiliser le logiciel PWM (émulation matérielle PWM). Lorsque j'ai créé SOTU, les meilleures bibliothèques disponibles étaient RPi.GPIO v0.5.2a (paquet Python, version très obsolète maintenant) et pi-blaster. Le noyau de Raspbian Wheezy n’est pas destiné aux applications temps réel; la gigue est probable lors de l'utilisation du logiciel PWM. pi-blaster était beaucoup moins nerveux que cette version de RPi.GPIO.

pi-blaster vous permet de régler la puissance fournie à une broche GPIO donnée (c'est-à-dire de contrôler la luminosité) en écrivant simplement une valeur décimale dans un fichier du système de fichiers du système d'exploitation, comme suit:

echo "2 = 0.2"> / dev / pi-blaster

Ceci ajusterait la LED attachée à une luminosité de 20%.

Commandes LED programmatiques avec Python

Ensuite, j'ai utilisé pi-blaster pour construire une couche d'abstraction de contrôles de LED en Python. J'ai construit une série de classes qui m'ont permis de programmer:

  • Définir une couleur (RVB) sur une bande de LED sur un tableau
  • Activer les effets sur n’importe quelle bande de LED sur un tableau:
    • fondu - Fondu entre les couleurs
    • rotation - Rotation à travers un tableau de couleurs
    • pouls - Basculement entre les couleurs
    • flashFade - Définissez une couleur puis atténuez-la

En utilisant ces fonctions, j'ai créé des schémas de lecture d’éclairage personnalisés qui accompagnaient chaque peinture en simulant les principes physiques associés au sujet de la peinture. Découvrez une démonstration vidéo de la Big Bang: Naissance de l'univers script de lecture exécuté sur mon prototype SOTU.

Prototype SOTU. J'ai construit un cadre en toile de 1 mx 1 m pour que les longueurs de fil soient correctement mesurées.

Raspberry Pi Control avec OSC

La couche suivante de l'abstraction dans SOTU consistait à activer le contrôle à distance. Entrez Open Sound Control. OSC est un protocole de communication qui permet aux instruments de musique, stations de travail audionumériques (DAW), ordinateurs et autres outils multimédia de communiquer entre eux sur un réseau. Le protocole OSC utilise un mécanisme client-serveur simple; un «client OSC» envoie des «messages OSC» à un «serveur OSC» qui les reçoit et les traite. Le traitement typique consiste à déclencher une fonction système en fonction du message spécifique reçu (appelé «rappel»). Une fois de plus, la communauté des logiciels libres m'avait mis dans le dos… il existe une excellente bibliothèque appelée pyOSC, disponible pour tous.

En utilisant le mécanisme de rappel de pyOSC, j’ai créé des adresses OSC mappées aux fonctions de contrôle des voyants Python (effets, définition de la couleur, etc.). Je pouvais maintenant exécuter toutes les fonctions des voyants sur une peinture en envoyant simplement des messages OSC de TOUT client OSC (voir le SDD pour plus de détails sur les autres clients), comme ceci:

/ osc / led r1 1 solide / osc / led b2 0,3 solide

Cela allumerait la luminosité rouge des bandes de LED de 1 à 100% et la luminosité bleue de ces bandes de 2 à 30%.

Le mécanisme de rappel de pyOSC offrait une souplesse comparable à celle de la tire. J'ai pu l'utiliser pour de nombreuses autres tâches telles que la manipulation et la surveillance de services critiques Linux (httpd, ssh, rangeSensor, etc.), la surveillance de la santé des systèmes (statut du service, etc. à l'aide de Traitement) et leur fermeture à distance clé d'autorisation est bien sûr fournie).

Intégration de performance

Simonne utilise Ableton Live comme DAW avec un arsenal de contrôleurs MIDI et d’instruments lors de sa performance en direct. Ableton Live utilise MIDI et OSC pour ses communications internes. Par exemple, lorsqu'une touche est enfoncée sur un contrôleur externe connecté, Ableton reçoit le message d'événement MIDI et l'utilise pour déclencher un événement configuré dans Ableton (par exemple, un échantillon de musique ou pour jouer une note à partir d'un instrument synthétisé). Ok, nous avons maintenant accès aux messages relatifs à ses appuis clavier. Qu'en est-il de la grosse caisse? Nous avons dû transformer sa grosse caisse en un appareil compatible MIDI. Nous avons fixé un capteur de pression au tambour et l'avons connecté à un autre périphérique de contrôle MIDI connecté à son ordinateur portable. A chaque coup de batterie, nous avons ensuite reçu des messages MIDI On / Off.

Le batteur de Simonne (Mathias Brendel) illumine «La mort de l'univers» à chaque coup de grosse caisse

Ableton expose nativement ses communications internes MIDI et OSC. J'avais maintenant accès à tous les messages d'événement MIDI provenant à la fois de son clavier et de la batterie. Ableton Live est le BizNiz.

La dernière étape consistait à extraire ces messages d’Ableton et à les acheminer vers les différentes peintures pour les éclairer.

Outils de tiers affamés de Message

La dernière intégration m'a obligé à extraire ces messages d'Ableton, à les traduire en messages OSC du système SOTU et à les acheminer vers les peintures. Pas besoin de réinventer la roue ici. OSCulator est un incroyable outil de routage MIDI / OSC à prix raisonnable qui intègre également une intégration native avec Ableton Live. Il était maintenant trivial de prendre les messages d’événement MIDI de ses instruments et de les acheminer en tant que messages OSC pour les envoyer aux peintures.

Vous trouverez ci-dessous un exemple de la configuration OSCulator pour l'émission SOTU:

SOTU OSCulator routes OSC / MIDI. Notez que l'espace adresse a depuis été mis à jour pour utiliser / osc à la place de / pltn.

Ici, OSCulator écoute sur le port 9001 les messages entrants. Si la touche correspondant au message MIDI 99 est enfoncée sur son clavier, la valeur 1 (activée) est reçue. OSCulator est configuré pour envoyer ces messages OSC à la peinture 3 («PLTN3») pour la faire virer au rouge.

/ osc / led r1 1 solide / osc / led r2 1 solide

Lorsque cette clé a été relâchée, OSCulator a reçu la valeur 0 et a acheminé le message OSC suivant pour désactiver le dessin (créant un effet de flash):

/ osc / led allOff

Les lumières de chaque tableau peuvent être personnalisées par couleur et par effet et contrôlables à l'aide d'instruments de musique.

Alors, comment ça va?

Les peintures étaient exposées en demi-cercle sur une scène faite de caisses de lait qui ressemblait à un terrain de jeu Q-bert, qui servait de maquette pour l’exposition et de scène pour la performance musicale en direct de Simonne. Le spectacle était très énergique et la foule a adoré ce qu'elle a vu:

Simonne "joue" ses peintures

Au cours de l'été 2013, Secrets of the Universe a également été exposé au festival du remake de Berlin, au festival des arts et de la musique de Berlin, et utilisé lors de sa performance à Brême, en Allemagne.

Simonne Jones à Brême, Allemagne

Remake Festival Berlin, Allemagne 2013

Festival du remake de Berlin, Berlin Allemagne 2013

Conclusion

SOTU s'est incroyablement bien comporté dans chacune des expositions et performances. Bien que le Raspberry Pi soit généralement présenté comme un ordinateur de loisir, je peux attester du fait qu’il est également excellent pour les applications interactives d’art et de performances en temps réel (ish). J'attribue une grande partie de notre succès avec ce projet à la robustesse du Raspberry Pi.

Construire un système avec ce niveau de complexité est un problème qui pose de nombreux problèmes d’interface, de logistique, de développement, d’exploitation, de test et de déploiement. J'ai relevé tous ces défis lors de la création de SOTU grâce au perfectionnement de mes compétences et à l'acquisition de nombreuses compétences nouvelles. Bien joué Raspberry Pi Foundation, mission accomplie.

SOTU est le type de problème qui unit les créateurs de diverses disciplines et qui nous passionne en tant qu'ingénieurs. J'ai mis à profit vos connaissances collectives au cours de ce projet, ma ressource la plus précieuse. Con Amor de ArbitraryY

Extras

Simonne décrit sa philosophie et sa vision artistique de Secrets of the Universe dans son interview pour 3SAT TV.

Part

Laisser Un Commentaire