(titre provisoire)
Installation sonore, lumineuse, électronique et numérique
[En cours de développement]
Première exposition : Les Arts à la Pointe - Juillet 2019
Un rituel est venu rythmer l’activité de notre atelier nomade : la collecte quotidienne sur une période de trois ans, de 1000 petits objets de natures diverses, le plus souvent trouvés sur le bord de la route, ainsi que le relevé systématique des données qui leur sont associés (date, coordonnées GPS, altitude, kilométrage, poids, taille, couleur, etc…)
Boite noire du projet, journal de bord matérialisé ou cabinet de curiosité nomade à l’ère du technocène et du numérique, cette installation multimédia dont l'esthétique s'inspire volontairement de celle des data-centers, abrite, explore et ré-agence une base de données résultante d'un travail systématique et rigoureux de longue haleine.
1000 objets réels côtoient leurs homologues virtuels, et de leurs interactions découlent une forme évolutive et animée qui tente inlassablement et en vain, de défragmenter et ranimer la mémoire de Geocyclab.
Son langage, fait d'événements lumineux, sonores, et visuels, dévoile de manière sensible et immersive les traces de la relation que l'humain d'aujourd'hui entretient avec le monde.
dimensions : L. 50cm, l. 50cm, h. 120cm
techniques diverses
matériaux : bois, verre, plexiglas, acier…
Cette œuvre dont la forme est évolutive n'est rendue possible qu'avec la participation d'une petite équipe d'ingénieux développeurs et d'agiles et patientes petites mains que nous ne remercierons jamais assez.
Merci à:
Développée à l'aide d'outils libres (software & hardware), cette installation est précisément documentée pour rendre possible son appropriation par la communauté des artistes/développeurs, et pour simplifier sa mise en œuvre lors d'une exposition. (Documentation orientée développement + Documentation pour le montage / manuel d'utilisation)
Backup est une installation artistique, numérique et immersive, dont l’esthétique vise à plonger le spectateur dans l'univers de Geocyclab. Il s'agit d'un système modulaire et autonome capable de présenter une lecture continue des 1000 objets en suivant une série de séquences prédéfinies (rythmes, ordres de tri, paramètres…)
Objets, sons, images, et données sont ainsi mis en scène et animés par le biais d'un réseau de machines synchronisées, qui communiquent entre elles via le protocole OSC, et où plusieurs modules “Slaves” suivent une séquence générée par le “Master”.
Structure modulaire s'adaptant à n'importe quel espace d'exposition dans l’obscurité.
Possibilité d’extension par ajout de nouveaux éléments connectés (slaves)
Interface de contrôle pour paramétrer et dépanner l'installation
Stabilité / Autonomie (détection de panne ? résolution automatique ? fichier log global ?)
Sécurité (Accès à distance, SSH ? VPN ? Extension de l'expo en ligne…)
Mobilité (dispositif embarqué contenu dans un flight case)
MASTER vers LIGHT SLAVE |
||||||||||
OSC | Arguments | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
port | adressage | nb | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
8001 | light/shape/ | 5 | ID | level | fadein | hold | fadeout | |||
light/color/ | 3 | head_r | head_g | head_b | back_r | back_g | back_b | back_lev | ||
MASTER vers AUDIO SLAVE |
||||||||||
OSC | Arguments | |||||||||
port | adressage | nb | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
8002 | audio/shape/ | 5 | ID | level | fadein | hold | fadeout | |||
audio/vol/ | 5 | main | spk1 | spk2 | spk3 | spk4 | ||||
audio/eq/ | 3 | bass | mid | high | ||||||
audio/reverb/ | 4 | bright | wet | dry | roomsize | |||||
audio/delay/ | 2 | delay | feedback | |||||||
audio/fx/ | 8 | fx1 | fx2 | fx3 | fx4 | fx5 | fx6 | fx7 | fx8 | |
MASTER vers VIDEO SLAVE |
||||||||||
OSC | Arguments | |||||||||
port | adressage | nb | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
8003 | video/shape/ | 5 | ID | level | fadein | hold | fadeout | |||
video/param/ | 2 | width | height | |||||||
MASTER vers VIDEO SLAVE 2 |
||||||||||
OSC | Arguments | |||||||||
port | adressage | nb | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
8004 | video/shape/ | 5 | ID | level | fadein | hold | fadeout | |||
video/param2/ | 2 | width | height |
Le Master fournit le hotspot sur lequel les esclaves se connectent en wifi automatiquement.
Nom du réseau : backup
Password : geocyclabexsitu
PC - Client
Nom : backup-controler
Raspberry 1 - Hotspot
Nom : backup-master
IP : 10.3.141.1
Raspberry 2
Nom : backup-audio-slave
IP : 10.3.141.2
Raspberry 3
Nom : backup-video-slave
IP : 10.3.141.3
Raspberry 4
Nom : backup-video-slave-2
IP : 10.3.141.66
Est-il possible de switcher les carte SD d'un Raspberry à l'autre ? Pour le moment, il semble que ça ne fonctionne pas…
Le MASTER est le module central de l’œuvre, le serveur. Invisible aux yeux du public, il ne génère pas de contenu d'ordre plastique ou sonore mais organise et synchronise les images, sons et lumières diffusés par les différents SLAVES de Backup. Organe indispensable, il endosse le rôle ingrat du chef d'orchestre invisible.
Hardware: RaspberryPi 3
Distribution: Raspbian
Software: Python - Javascript
DEV : Framapad MASTER
Tourne sous Raspberry Pi et se lance automatiquement au boot
Génère le hotspot wifi auquel les Slaves se connectent automatiquement
Génère les séquences de lecture paramétrées via l'interface utilisateur
Diffuse ces séquences en OSC aux modules esclaves
Pour assouplir au maximum la gestion de la base de donnée et pour simplifier le setup de Backup, nous imaginons laisser à Python (+SQL?…) le soin de gérer le MASTER. Cela nous permettrait d'y associer une interface utilisateur WEB, de s'y connecter depuis un laptop, tablette ou smartphone et non plus d'avoir (comme dans la version actuelle) à installer Pure Data sur un Laptop dédié.
Le CONTRÔLER permet d’interagir à tout moment avec l'installation, de changer les séquences jouées par le MASTER, de contrôler les paramètres sonores, la vitesse de défilement des LEDs, la longueur des fades in/out…
Création d'une interface Javascript qui communique avec le MASTER via Python.
+ Sélecteur de plages (Mode démo)
Le cœur du MASTER est un fichier .CSV rassemblant les méta-données des objets. Ces données (coordonnées GPS, date, lieu, taille, poids, couleur, origine, matière…) peuvent devenir autant de paramètres de contrôle qui définiront la nature et la fréquence des événement sonores et visuels de Backup
Fichier de données : DATAs-FramaCALC
Normalisation de la base de données (données réelles → 0-255) ?
col | entête | min | max |
---|---|---|---|
Chiffres bruts | |||
A | id | 1 | 1000 |
B | date | 2012-09-30 | 2015-09-26 |
C | kms | 0 | 155 |
D | alti | -3 | 2454 |
E | lat_deg | -8 | 50 |
F | lat_min | -54,887 | 59,906 |
G | long_deg | -122 | 126 |
H | long_min | -59,966 | 59,921 |
I | poids | 0,01 | 27,76 |
J | taille | 0 | 1320 |
Codes chiffre | |||
K | id_couleur | 0 | 17 |
L | couleur | 18 valeurs | |
M | id_matiere | 0 | 9 |
N | matiere | 10 valeurs | |
O | id_origine | 0 | 2 |
P | origine | 3 valeurs | |
Q | id_pays | 0 | 23 |
R | pays | 24 valeurs | |
S | post | 0 / 1 | |
Textes | |||
T | objet | … | |
U | gps | … | |
V | lieu | … | |
W | contexte | … | |
X | depart | … | |
Y | arrivee | … | |
Chiffre calculés / convertis | |||
Z | annee | 2012 | 2015 |
AA | mois | 1 | 12 |
AB | jour | 1 | 31 |
AC | kms_cumule | 40 | 18130 |
AD | kms_depart_vol_oiseau | 0 | 12887,6 |
AE | kms_depart_corde | 0 | 10801,1 |
AF | kms_etape_segments | 0 | 9265,3 |
AG | kms_etape_cumule | 0 | 69813,7 |
AH | lat_dec | -8,713 | 50,483 |
AI | long_dec | -122,576 | 126,449 |
AJ | lat_rad | -0,152 | 0,881 |
AK | long_rad | -2,139 | 2,207 |
AL | lat_x | ||
AM | long_y | ||
AN | date_full |
Le LIGHT SLAVE met en lumière et donc en valeur les objets suivant un ordre et un tempo prédéterminé par le MASTER. Pour le visiteur, la lumière est une “tête de lecture” qui se déplace de façon fluide d'objet en objet et permet d’établir une lecture différente de l’œuvre à chaque changement de scénario (chronologique, géographique, poids, taille…) et de mettre en avant les différents types de données collectées par Geocyclab.
Hardware: voir le tableau “détail du Hardware”
Software: Pure Data / IDE arduino
Library: FastLed
Canal OSC: 8001
DEV : Framapad light slave
light/shape/ 345 213 1200 2050 1000
où les arguments correspondent, dans l'ordre, à :
345 = ID (1-1000) = n°LED 213 = level (1-255) = luminosité 1200 = fadein (ms) = fade in 2050 = hold (ms) = maintient 1000 = fadeout (ms) = fade out
Concernant la couleur du background, un message OSC séparé est transmis par le MASTER du type :
light/color/ //head back back_lev
Contrôler couleur, intensité et animation (background + active) de chacune des 1000 LEDs
Le MASTER est désolidarisé du LIGHT Slave et le Teensy 3.2 est équipé d'une extension WIFI ESP8266. Le LIGHT Slave reçoit dès lors les mêmes messages OSC que les autres SLAVEs, en communiquant avec le MASTER via le port 8001.
Le Teensy 3.2 parse ces messages en utilisant une librairie OSC :
Le type de message et le nombre d'arguments correspondant aux couleurs dépendra de la libraire utilisée.
Rappel concernant la gestion des couleurs: La couleur des LEDs “tête de lecture” qui mettent en avant les objets sélectionnés est différent de de le couleur de fond, autrement dit du “background”. Un message OSC séparé est envisagé pour le initialiser la couleur et l'intensité du background.
Hardware
Contrôle
Raspberry 3 (Master)
Teensy 3.2 (Contrôleur)
OctoWS2811 Adaptor (connexion Teensy/LEDs)
Alimentation
Alimentations 5V-18A (2x) (alimentation LEDs)
Alimentation 12V-3A (alimentation fan contrôler + step down)
Step down 12V→5V (alimentation Raspberry + Teensy)
Light
1000x LEDs WS2812B (Ruban de LEDs - 30 LEDs par mètre)
Autre
Fan contrôler
Ventilateur
Interrupteur alimentation x3 (1 interrupteur par alimentation)
Bouton “shutdown” Raspberry
Câble alimentation et prise secteur (type “choco”)
Connecteur secteur (type choco avec fusible)
Matériel supplémentaire pour le développement de la V2.0
Teensy 3.2 - OCTOWS2811 et ESP8266 pins compatibilité
OCTOWS2811 Pin | ESP8266 | ||||
---|---|---|---|---|---|
Serial Pin | SPI Pin | ||||
2 | LED Strip #1 | 0 | RX1 | 7 | DOUT |
14 | LED Strip #2 | 1 | TX1 | 8 | DIN |
7 | LED Strip #3 | 7 | RX3 | 9 | CS |
8 | LED Strip #4 | 8 | TX3 | 10 | CS |
6 | LED Strip #5 | 9 | RX2 | 11 | DOUT |
20 | LED Strip #6 | 10 | TX2 | 12 | DIN |
21 | LED Strip #7 | 13 | SCK | ||
5 | LED Strip #8 | 14 | SCK | ||
- | Connect together | A1 | CS | ||
32 | Do not use | A6 | CS | ||
25 | Do not use as PWM | A7 | CS | ||
12* | Frame Sync (Video) | ||||
FTM2 | Timer Hardware Used |
[Code] Pure Data - WS2812 LEDs controle
Ressource PixelPi github
Ressource Using The Teensy Loader on Ubuntu Linux
Ressource Neopixel & Pure Data
Ressource Json - un format léger d'échange de données (communication PureData-Teensy
Forum Neopixel & Pure Data
Pure Data abs - Arduino sketch Alexdrymonitis - facilitating the communication between the two platforms
Software PixelsInvider matrix controller
Tuto FastLed&Neopixel
Chaque objet, placé dans un tube en verre, est adressé à une LED, l'ensemble constituant une matrice 3D cubique de 10 x 10 x 10 objets, tubes, et LEDs, répartis sur 10 étages, et protégés par une vitrine.
L'ensemble est entièrement démontable pour facilité la maintenance et le nettoyage, et les différents éléments techniques restent accessibles (Connecteurs HDMI RJ45, carte SD…)
Tube verre 70 mm ø 24 Fond Plat - bolium.com - 14V0700PL
Longueur : 70 mm
Diamètre extérieur : 24 mm
Diamètre intérieur : 21 mm
Volume : 25 ml
Fond : Plat
1 tube = 21 mm × 21 mm × 70 mm
= 30870mm3 = 30,87 mL
1000 tubes = 30,87 Litres
D. 5 mm
Tige filetée | D. 5mm | 96 x 86 mm |
---|---|---|
Tube plastique | D. 8mm | 96 x 51,7 mm |
Gaine thermo | D. 9mm | 96 x 52 mm |
Écrous Nylstop | 2 x 96 | 192 | 400 - 192 = 208 |
---|---|---|---|
Écrous plats | 3 x 96 | 288 | 400 - 288 = 112 |
Rondelles | 6 x 96 | 576 | 600 - 576 = 24 |
Capuchons | 2 x 96 | 192 | 184 - 192 = -8 |
D. 10 mm
Tige filetée | D. 10mm | 1 x 100 mm |
---|---|---|
Tube alu | D. 12mm | 12 x 69,5 mm |
12 x 9 mm | ||
Gaine thermo | D. 12.7mm | 12 x 70 mm |
12 x 9 mm |
Écrous Nylstop | x ?? | dispos : 5 |
---|---|---|
Écrous ailettes | x ?? | dispos : 2 |
Rondelles | x ?? | dispos : 10 |
bricovis.fr - Visserie
gaines-thermoretractables.fr - Gaines thermo
Couper la longueur désirée, prévoir un rétrécissement longitudinal de 5-7 %
landefeld.com - Tubes PU, PE, PA…
quincaillerie.pro - Tube polyurethane
diproclean.com - Tube polyéthylène noir D.int 6mm
diproclean.com - Tube polyéthylène noir D.int 10mm
diproclean.com - Tube polyéthylène noir D.int 10,7mm ?
rotomoulage.org - Caractéristiques matières plastiques
Install | Secu | Rab | Ping | Tom | |
---|---|---|---|---|---|
A1 | x 5 | x 1 | + 3 | 3 | 3 |
A2 | x 5 | x 1 | + 1 | 2 | 4 |
A3 | x 5 | x 1 | + 1 | 2 | 4 |
A4 | x 5 | x 1 | + 1 | 2 | 4 |
A5 | x 5 | x 1 | + 1 | 2 | 4 |
A6 | x 5 | x 1 | + 2 | 3 | 3 |
Install | Secu | Rab | Ping | Tom | |
---|---|---|---|---|---|
B1 | x 5 | x 1 | + 1 | 1 | 5 |
B2 | x 5 | x 1 | 6 | ||
B3 | x 5 | x 1 | 6 | ||
B4 | x 5 | x 1 | 6 | ||
B5 | x 5 | x 1 | 6 | ||
B6 | x 5 | x 1 | + 1 | 1 | 5 |
Modèle | Install | Rechange | Rab | Ping | Tom |
---|---|---|---|---|---|
A | x6 | 2 | 4 | ||
B | x6 | 2 | 4 |
Tendre la feutrine acrylique sur un cadre pour la planéité.
Vis 5mm + larges
Bourrelet supérieur du tube (plateau IV)
Intégration câbles + connecteurs
Calcul de puissance : Ce tableau de puissance détermine le nombre et le type d'alimentations, le type de câblage, la qualité des interrupteurs, l'ampérage des fusibles et le type de disjoncteur.
Élément | Intensité(A) | Tension(V) | Unités | Total intensité (A) | Total consommation (Watt) |
---|---|---|---|---|---|
LED WS2812B | 0.06 | 5 | 1000 | 60 | 320 |
Il nous faut donc 2 alimentations 5V, en 32A minimum pour faire fonctionner l'ensemble des LED en pleine puissance.
Connecteurs & Câbles
Câble data | RJ45 |
Câble GND (data) | RJ45 |
Câble 5V+ | AWG #22 |
Câble GND (5V) | AWG #22 |
Câble alimentation et prise secteur (choco) | |
Connecteur alimentations → LED strip | |
Connecteur Teensy → LED strip | |
Connecteur Raspberry → Teensy 3.2 |
Câbles interLED
interLED 01 | (short) | 108 x 40 mm |
---|---|---|
interLED 02 | (medium) | 108 x 48 mm |
interLED 03 | (long) | 108 x 56 mm |
Câbles In/Out
In A 01 | AWG20 | +5V | 6 x 165 mm |
---|---|---|---|
In A 02 | AWG20 | Din | 6 x 185 mm |
In A 03 | AWG20 | Gnd | 6 x 175 mm |
Out A 01 | RJ45 | Gnd | 6 x 235 mm |
Out A 02 | AWG20 | Din | 6 x 225 mm |
Out A 03 | AWG20 | +5V | 6 x 230 mm |
Raccord A | RJ45 | +5V | 6 x 55 mm |
Raccord A | AWG20 | Gnd | 6 x 60 mm |
In B 01 | AWG20 | +5V | 6 x 255 mm |
---|---|---|---|
In B 02 | AWG20 | Din | 6 x 220 mm |
In B 03 | AWG20 | Gnd | 6 x 255 mm |
Out B 01 | AWG20 | Gnd | 6 x 155 mm |
Out B 03 | AWG20 | + 5V | 6 x 155 mm |
Raccord B | AWG20 | Gnd | 6 x 35 mm |
Câbles Colonne
A1 | B2 | A3 | B4 | A5 | B6 | A7 | B8 | A9 | B10 | A11 | B12 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Alim +5V | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm |
Alim Gnd | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm |
DATA Din | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm |
DATA Gnd | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm | ?? mm |
L'AUDIO SLAVE est un système de diffusion sonore ambisonique 2D basé sur Pure Data, Raspberry Pi et Beocreate (carte son amplifiée 4 canaux dédiée au Raspberry). Ce module - léger - génère une couche sonore accentuant l'immersion du public dans le voyage de Geocyclab tout en apportant des éléments supplémentaires à la compréhension de l’œuvre. Diffusion de fragments sonores relatifs aux pays dans lesquels les objets ont été collectés
Hardware: Raspberry Pi - Beocreate (carte son)
Distribution: Raspbian
Software: Pure Data
Canal OSC: 8002
DEV : Framapad AUDIO slave
audio/shape/ 345 213 1200 2050 1000 0x9966CC
où les arguments correspondent, dans l'ordre, à :
345 = ID (1-1000) = n° du sample à jouer 213 = level (0-255) = intensité du signal sonore (à diviser par 2 (0-127) 1200 = fadein (ms) = Attack 2050 = hold (ms) = Maintient 1000 = fadeout (ms) = Release 0x9966CC = Color (hex) = //(ne nous intéresse pas pour l'audio slave)//
D'autre messages OSC sont envoyés à l'AUDIO Slave qui définissent les paramètres sonores globaux (volume, balances, equalizer, reverb, delay…)
audio/vol/ //main spk1 spk2 spk3 spk4
Ce module contient sa propre base de données (un sample audio par pays). Pure Data gère le traitement du signal sonore et le sampling
Diffusion audio sur 4 canaux, spatialisée en fonction des coordonnées GPS
Hardware
Audio
Raspberry 3 (traitement audio)
Carte son Beocreate (carte son 4 canaux)
Speakers 30W (x4)
Alimentation
Alimentations 18V - 12V-24V (Raspberry Pi + BeoCreate 18V)
Connectiques
Câble audio (BeoCreate > enceintes)
Connecteur audio (BeoCreate > enceintes)
Connecteur alimentations (raspberry/BeoCreate)
Autres
Interrupteur général
Bouton “shutdown” Raspberry
[Code] Pure Data - Raspbian Setup
Beocreate - premiers pas
BeoCreate-setup
Beocreate – Use the board with 3rd party software
Beocreate – Setting up the software on Raspbian
BeoCreate/HifiBerry - Github
Conseils pour utiliser Beocreate
Beocreate – Use SigmaStudio
SigmaStudio Network Utility for Linux
Sigma Studio
Raspberry Pi and realtime, low-latency audio
I²S Audio Support for Raspberry Pi
Forum - DSP boards and Beocreate
ID | Pays | Nb Jours |
---|---|---|
0 | Transit | 3 |
1 | France | 41 |
2 | Espagne | 33 |
3 | Maroc | 98 |
4 | Mauritanie | 28 |
5 | Sénégal | 34 |
6 | Mexique | 172 |
7 | USA | 77 |
8 | Indonésie | 67 |
9 | Malaisie | 58 |
10 | Thaïlande | 28 |
11 | Birmanie | 27 |
12 | Inde | 20 |
13 | Malaisie (bis) | 26 |
14 | Népal | 16 |
15 | Inde (bis) | 73 |
16 | Georgie | 27 |
17 | Turquie | 68 |
18 | Bulgarie | 21 |
19 | Serbie | 14 |
20 | Hongrie | 15 |
21 | Autriche | 12 |
22 | Allemagne | 11 |
23 | France | 31 |
Le vidéo slave est un dispositif de projection vidéo dédié à la visualisation de données. Basé sur Processing et tournant sur un Raspberry Pi, il contient sa propre base de données (photos des objets x1000) ainsi qu'une copie des métadonnées des objets. Le logiciel Processing puise dans ces bases de données pour afficher photos et représentations graphiques des métadonnées relatives à chaque objet.
Hardware: Raspberry Pi
Distribution: Raspbian
Software: Processing
Canal OSC: 8003
DEV : Framapad VIDEO slave(s)
Photos objets
Photos macro des objets
Datas
Textes, chiffres, diagrammes, données relatives aux objets
Points GPS
Points correspondants aux coordonnées GPS des objets sur un planisphère
Bulle impressionniste à partir de photos floutées des paysages de Geocyclab
Ambiances lumineuses et colorimétriques issues des photographies du voyage…
Maquette de la vidéo projetée
Hardware
Vidéo projecteur ou écran (HDMI)
Pour optimiser les performances d'affichage, multiplier le nombre et la diversité des dispositifs de diffusion vidéo (projection, LCD, TV…), nous imaginons la possibilité de cloner les VIDEO Slaves.
Par exemple, un système Raspberry + vidéo-projecteur serait dédié à la projection en grand format des objets, un deuxième système identique servirait à projeter la carte, et un troisième module, pourquoi pas contenu dans une mallette, affiche sur un écran LCD les données relatives aux objets alors que les ambiances colorimétriques des lieux prendraient la forme d'une sculpture…
Traitement des photos des objets (fond noir)
mogrify -alpha Set -draw 'image Over 0,0 0,0 "../cache_2592x1728.png"' -gravity center -background black -extent 2592x2592 -auto-level -modulate 100,130 -level 5%,98%,1.0 -resize 1000x1000\! *.jpg
Traitement des photos des objets (fond blanc)
mogrify -alpha Set -draw 'image Over 0,0 0,0 "../cache_2592x1728.png"' -gravity center -background white -extent 2592x2592 -channel R -level 10%,93%,0.96 -channel G -level 10%,92%,0.9 -channel B -level 10%,100%,0.85 -modulate 100,175 -resize 1000x1000\! *.jpg
Scripts imagemagick (Arvalum Pad)
Idées, liens, sources, notes de travail…
Module slave - imprimante thermique : Tuto raspi+imprimante thermique
Module slave - connecté ?
Un travail de longue haleine pour cette collection d'échantillons correspondant chacun à une journée passée dans notre atelier, et qui constitue le point de départ d’une installation les mettant en scène.
Partant des données qui permettent l’identification de chaque objet, il devient possible de programmer leur mise en lumière et leur sonification (transformation d’une valeur numéraire en événement sonore) et de construire ainsi une narration temporelle et géographique qui assiste la lecture de l’installation.
Base de données matérialisée, journal de bord singulier ou cabinet de curiosité, la distance entre la présence sensible et palpable de ces échantillons du monde et le code sonore et lumineux qui les anime.
Cette installation est une tentative désespérée de décrire Geocyclab, où plutôt, de réactiver la mémoire d'une expérience passée. Quel sens est produit dans l'accumulation de données, traces, lors d'un voyage ? Qu'est ce qu'est cette mémoire du voyage ? Un disque dur ? Une mémoire vieillissante ?
Donner l'impression d'une chose vivante, alors que ce n'est qu'une mémoire inerte, un automate animée.
Se peut-il que cette installation se dégrade comme s'efface nos souvenirs au fil du temps ?
Hardware: Raspberry Pi 3
Distribution: Raspbian
Software: Pure Data
Contenu dans le hardware du LIGHT Slave, le Raspberry MASTER communique avec le LIGHT Slave via son port série USB. Pour les Slaves AUDIO & VIDEO les données sont envoyées en Wifi.
Le logiciel Pure Data lit, analyse et lisse la base de données, puis constitue des paquets OSC (Open Sound Control) qu'il envoie aux différents Slaves via le protocole UDP.
Problème
Pure Data gère mal le CSV. S'il existe un objet iem_pbank_csv qui permet de gérer nos donnée, la librairie dont l'objet fait partit iemlib ne compile pas sous Raspberry Pi.
Solutions au problème
a) Compiler la librairie pour Raspberry Pi
b) Éditer plusieurs fichiers CSV, un fichier par séquence jouée.
c) Laisser à Python le soin de gérer tout ça.
Hardware: Raspberry Pi 3 (MASTER) + Teensy 3.2 + OctoWS2811
Distribution: Raspbian
Software: Pure Data - Arduino - FastLed
Le contrôle des LEDs s'effectue à l'aide du Raspberry MASTER qui communique avec le Teensy via le port série (USB). L'adaptateur OctoWS2811 fait la liaison entre le Teensy 3.2 et les différents bandeaux de LEDs WS2812B (5 strips de 200 LED chacun).
Le hardware fonctionne, il a été testé.
PureData tourne sur le MASTER et gère le traitement des donnée puis constitue les paquets OSC qu'il transmet à l'AUDIO SLAVE et au VIDEO SLAVE via le protocole UDP.
Parallèlement, il communique au Teensy 3.2 en utilisant le port série USB du Raspberry des messages comprenant le n° de la LED suivit d'un argument 1 ou 0. Le code du Teensy parse le message et transmet les instructions à la LED concernée en utilisant la librairie FastLed.
Format du message envoyé par PureData au Teensy : LED 348 1
Problème N°1
Liaison série Teensy / Raspberry Pi ne fonctionne pas correctement.
Solutions au problème N°1
a) Oublier la liaison série en plugant une carte wifi ESP8266 au Teensy.
b) Passer par le GPIO du PI et ouvrir un deuxième port série sur le Teensy.
Problème N°2
Objectifs non-atteints :
- Contrôle du temps de maintient
- Superposition de l'allumage des LEDs
- Contrôle de l'intensité
- Contrôle du fade-in
- Contrôle du fade-out
- Contrôle de la couleur de background
- Contrôle de la couleur active
Solution au problème N°2
Développer en C un code permettant au Teensy 3.2 de recevoir, simultanément ou à quelques ms d'intervalle, plusieurs messages sous forme de paquets OSC.
Hardware: Raspberry Pi 3
Distribution: Raspbian
Software: Pure Data
Le patch fonctionne à peu près, mais est à nettoyer… Radicalement.
Problème N°1
L'interfaçage de la carte son Beocreate avec PureData à jusqu'à présent été un échec
Solution au problème N°1
a) Chercher encore un peu pour comprendre comment ça fonctionne.
b) S'orienter vers une autre carte son
Backup - Collaborative session | 05/06 ➡ 16/06 - (Framapad)
Cut LEDs (120 tronçons de 10 LEDs)
Etain sur chaque strip (720 points)
Limage des point de soudures internes
Collage des strips sur les cansons noirs (A et B inversés)
Cut Câbles InterLEDs
Soudure des câbles InterLEDs (720 points)
Cut Tiges filetés 5mm
Cut Tube Alu 12mm (gaine thermo avant)
Cut Gaine thermo 5mm
Pose gaine sur les tiges filetés
Montage des 2 plateaux Sécu (A & B sans les tubes)
Câblage des deux plateaux
Fabrication caisse de rangement / transport
Démontage plateaux 3 et 4 + dé-gainage tiges filetés
Dégraissage visserie + Pose écrou Nylstop 01
Agrandissement des trous 5mm + Cut guide câble IV PMMA
Thermoformage + Cut entretoises 5mm
Nettoyage PMMA
Montage des 10 plateaux (gants blancs)
Soudure des câbles In/Out sur les strips
Montage de l'étagère à blanc » TEST
Câbles Colonne
Disposition des tubes (sans bouchons)
Finitions caisse (cut + mousses)
Rondelles papier + Scotchs + cales couvercle » Sandwich
Tests studio Macro
SHOOTING + MISE EN TUBES DES OBJETS
Montage Final (pinces ?) + finitions caisse (poignées)
Bloc MASTER ventilo + interrupteur + caisson
Tests Logiciel + Traitements images et sons