City Lights Orchestra Device (CLOD)

Synopsis

Il s'agit d'une lampe nommée City Lights Orchestra Device (de son petit nom CLOD), connectée et synchronisée.

Ce prototype a été conçu lors d'un atelier LAB d'une semaine. Dans le cadre de CHRONIQUES Acte 3 - Révélations, et du projet européen Future DiverCities, un LAB de création et de fabrication pour les étudiants (école d’art, de design, d’électronique, de graphisme…) et les amateurs, pour réaliser et créer collectivement une série d’objets lumineux connectés et open-source. S’inspirant de son œuvre - City Lights Orchestra - l’artiste Antoine Schmitt a mené cette co-création au côté du designer Bruxellois Damien Gernay.

Le point de départ était une lampe portable et connectée aux autres lampes similaires, dans l'idée de synchroniser les clignotements des lampes. Pendant l'atelier qui a duré une semaine, il a été imaginé, conçu, dessiné, et réalisé 4 exemplaire d'un prototype de lampe.

Mots clés : lanterne, signal, synchronisation, communication.

L’intérêt d'un travail de groupe dans la constitution d'un projet au sein d'un workshop, réside dans le croisement des compétences de chacun, du spécialiste au curieux. Cela permet d'échanger ensemble des savoirs-faire dans la conception d'un projet. La technique a permit de recadrer les idées pour qu'elles puissent fonctionner.

Plus d'informations de cet atelier sur la page dédiée Atelier LAB CLOD

Description de la lampe

La lampe est constituée d'un manche qui tient dans la main et d'un grand réflecteur. Elle peut être tenue à la main ou posée. Une LED puissante éclaire le réflecteur qui diffuse la lumière de manière très visible. Il y a un bouton-poussoir sur le coté, à l'emplacement de l'index (droitiers). Il y a sous le pied, un capteur de lumière. Il y a un interrupteur à 3 positions sur le dessus. Elle fonctionne sur batterie rechargeable.

La lampe clignote, pulse, palpite, respire, par des variations de l'intensité lumineuse de la LED.

Utilisation de la lampe

La lampe a deux modes d'usage : le mode autonome et le mode connecté. Le mode est sélectionné par l'interrupteur 3 positions (une position éteinte, une position pour le mode autonome, et une position pour le mode connecté).

Dans le mode autonome

La luminosité de la lampe reflète directement la luminosité captée par le capteur de lumière placé sous son pied. Ceci permet par exemple de placer la lampe sur un smartphone et de voir ses variations de lumière amplifiées et diffusées par la lampe.

Ainsi la lampe peut jouer la symphonie lumineuse City Lights Orchestra, en phase avec les fenêtres de la ville qui la jouent, et ceci de manière beaucoup plus lumineuse. On peut aussi imaginer jouer un film sur le smartphone et placer la lampe dessus pour une pulsation mystérieuse.

Dans le mode connecté

La lampe communique avec les autres lampes similaires situées dans l'entourage (dans un rayon de 50m environ, selon la configuration du lieu, c'est une technologie Wifi).

Son mode de fonctionnement est le suivant : on tient la lampe dans une main et on tient un briquet ou la lampe torche d'un smartphone dans l'autre main. Lorsque l'on appuie sur le bouton poussoir, la lampe se met en mode enregistrement : elle enregistre les variations de lumière captée par le capteur de lumière sous son pied. On peut voir ces variations car elles sont en permanence recopiées/jouées par la lampe elle-même (comme dans le mode autonome).

Ces variations de lumière constituent une séquence lumineuse arbitrairement complexe (clignotements, lentes pulsations, etc..). La durée maximale de la séquence est de 10 secondes. L'enregistrement stoppe lorsque l'on arrête d'appuyer sur le bouton poussoir (ou au bout de 10 secondes).

La séquence est ainsi définie. Elle est immédiatement jouée, en boucle, par la lampe elle-même, indéfiniment. Et surtout, cette séquence est envoyée aux autres lampes de l'entourage. Lorsqu'une lampe reçoit une telle séquence, elle se met aussi à la jouer indéfiniment.

Ainsi toutes les lampes connectées jouent la même séquence. Et ceci quasiment de manière synchrone, car l'envoi de la séquence est instantané. On a ainsi envoyé une séquence à toutes les lampes connectées.

On peut noter que la communication entre les lampes, bien que limitée à environ 50m, peut se faire, par bonds successifs de lampe en lampe, sur une distance quelconque, ce qui peut créer un réseau arbitrairement étendu de lampes connectées.

En l'état actuel, les lampes jouent toutes exactement la même séquence, la dernière reçue. Nous avons imaginé (mais pas eu le temps de tester) d'autres modes de propagation des séquences, par mixage ou collage de séquences. Voir ci-dessous.

Usages de la lampe

Dans le mode autonome, l'usage imaginé est celui d'une lampe à la pulsation vivante et imprévisible.

Dans le mode connecté, de nombreux usages et détournements peuvent être imaginés. Elle crée un réseau social lumineux par passage de signaux. Ecoles, prisons, voisins, manifestations politiques, apéros sur la plage la nuit, réseau amical dans la ville …

Design objet de la lampe

La lampe a été réalisée intégralement au Fablab Réso-nances, en aluminium et plastique.

Il y a deux versions de la lampe : avec ou sans filtre dichroïque. C'est à dire avec une lumière soit blanche soit colorée.

Design électronique de la lampe

L'électronique de la lampe est constituée des éléments suivants :

  • le coeur est constitué d'un processeur de type ESP8266. C'est un processeur plus puissant qu'un Arduino, et intégrant la fonction Wifi.
  • la batterie et l'électronique de contrôle et de rechargement
  • les interrupteurs et capteurs
  • la LED et son alimentation

L'électronique a été conçue et réalisée intégralement au Fablab Réso-nances.

Programmation de la lampe

Le programme de la lampe implémente le comportement défini: les deux modes d'usage, l'enregistrement et le jeu de la séquence, la connection aux autres lampes, l'envoi de la séquence, la réception de la séquence et son traitement.

Open Source

L'intégralité de la lampe (design objet, électronique, programme) est disponible en open source (voir les liens ci-dessus et ci-dessous).

Ingrédients

Coté design objet :

  • Impression 3d
  • Plaque d'aluminium 0.8mm découpé à la cnc
  • Colle epoxy

Coté électronique :

  • Wemos ESP8266 D1 mini
  • Mosfet Irlz34n
  • Diodes, resistances …
  • Led 3w
  • Capteur Photodiode
  • Batterie 3.7V Lion
  • Circuit de chargeur de batterie micro usb

Design de la lampe

L'objet est composé de trois parties en impression 3d et de deux découpes en aluminium …

Electronique

Circuit
Au final, nous avons utilisé un processeur ESP8266 (https://fr.wikipedia.org/wiki/ESP8266) Ces processeurs sont beaucoup plus puissants que les Arduino, possèdent davantage de mémoire, et surtout intègrent la fonction wifi en natif. De plus, ils ne sont pas chers (< 10€).

Schéma
On a finalement utilisé un mosfet IRLZ34N au lieu du driver de led…

Dans la vraie vie
Dans l'ideal on aurait du faire un shield qui reunisse le wemos, le mosfet, et le chargeur… pour éviter les multiples fils…

Idées d'autres circuits

Programme

Pour programmer sur l'ESP8266

Pour programmer l'ESP8266, on utilise le logiciel Arduino, mais il faut lui rajouter un certain nombre de drivers et librairies pour que cela fonctionne (et cela fonctionne plutôt bien).

  • Installer le logiciel Arduino
  • Installer CH340 driver (qui permet de communiquer en USB à la puce ESP8266). Cette installation est assez délicate. Il faut bien choisir le bon driver pour son modèle d'ordinateur. Parfois il faut débrancher et rebrancher le cable USB pour que cela fonctionne. Bien vérifier que les cables USB sont bons (permettent la communication série et pas uniquement l'alimentation électrique).

https://www.wemos.cc/downloads ou, pour MacOS 10.9, 10.10, 10.11, 10.12 : http://sparks.gogo.co.nz/ch340.html

  • Installer drivers carte ESP/Arduino. Aller dans le menu Arduino→Préférences. Et dans la case “URL de gestionnaire de cartes supplémentaires:” taper :

http://arduino.esp8266.com/stable/package_esp8266com_index.json

  • Installer la librairie EasyMesh dans le logiciel Arduino. Cette librairie assez magique (merci à son développeur) permet un usage en maillage (mesh) de l'ESP8266. Les puces utilisent le wifi à la fois en mode Acces Point (serveur wifi) et en mode Station (client wifi), et ainsi permettent une architecture réseau maillée dans laquelle tout le monde parle à tout le monde.

https://github.com/Coopdis/easyMesh (la télécharger et la copier à la main dans le carnet de croquis)

  • Installer la librairie SimpleList (néccessitée par EasyMesh) dans le logiciel Arduino

https://github.com/blackhack/ArduLibraries/tree/master/SimpleList (la télécharger et la copier à la main dans le carnet de croquis)

  • Dépendance ArduinoJson (néccessitée par EasyMesh) : sélection standard dans bibliothèques du logiciel Arduino.

Dans le logiciel Arduino:

  • Choisir carte « WeMos D1(retired) »
  • Choisir le port wchusbserialXXX

Programme

Une fois le logiciel Arduino bien configuré, on peut ouvrir le programme de la lampe fourni (voir ci-dessous) et le charger sur le processeur, comme avec un processeur Arduino normal.

Le code ci-dessous contient une documentation assez exhaustive dans les commentaires.

Ce qui pourrait être amélioré...

  • Pouvoir changer de forme de réflecteur (ajout d'un système de vis à la place de collage)
  • Améliorer le clignotement des led en pwm bas…. (fréquence du pwm ?)
  • Prise usb accessible pour uploader de nouveaux codes
  • Faire un shield assez grand pour éviter les multiples soudures de petits câbles chronophages et source d'erreurs
  • Modifier le comportement du logiciel pour différents scénarios d'usage (mixage ou collage des séquences reçues par exemple).