Table des matières

Open Light Orchestra (OLO)

Description

La lampe fonctionne sur batterie rechargeable est constituée d'un manche qui tient dans la main et d'un diffuseur.

Elle peut être tenue à la main ou posée. Une LED puissante 3W éclaire le diffuseur.

En dessous il ya une prise micro usb qui permet de charger la lampe, et de la reprogrammer, et d'un bouton marche /arret. ainsi que d'un capteur de lumiere.

Usage : La lampe LOD est conçue pour être utilisée en réseau de plusieurs lampes : chorégraphie en espace public, usages domestiques créatifs, réseau social informel.. Un pattern lumineux peut être enregistré dans une lampe avec un simple briquet. Ce pattern est joué en boucle par la lampe et est aussi envoyé aux autres lampes à proximité, qui peuvent le jouer tel quel ou le mixer. Les lampes jouent en rythme. Elles sont connectées entre elles par un réseau radio parallèle en maillage qui fonctionne tant que la distance entre deux lampes n'excède pas 30m environ. Elles ne nécessitent pas de box wifi ni de réseau téléphonique.

Usage :

  1. On allume la lampe
  2. Elle clignote rapidement (elle cherche d'autres lampes)
  3. Si elle trouve une autre lampe elle pulse lentement
  4. Avec le bouton poussoir, on peut enregistrer une sequence lumineuse avec le capteur de lumiere.
  5. En relachant le bouton, l'enregistrement (limité à 30secondes) s'acheve, et la led rejoue la séquence en boucle
  6. cette séquence est aussi transmise en wifi aux autres lampes à proximité
  7. lorsqu'un séquence est reçue par le réseau, un systeme algorithmique mixe les différentes séquences créees.

La lampe a aussi un mode direct, non connecté pour usage en solitaire. Pour activer ce mode, cliquer une fois sur le bouton. Dans ce mode, la lampe amplifie la luminosité du capteur : par exemple, on peut poser la lampe sur un smartphone pour une pulsation lumineuse synchronisée à l'écran du smartphone.

Pour revenir au mode connecté, double-cliquer sur le bouton. La lampe se souvient du mode dans lequel elle était lorsqu'on l'a éteinte. Quand on clique ou double-clique pour changer de mode, la lampe répond qu'elle a compris en clignotant le même nombre de fois que l'on a cliqué.

Matériaux et outils necessaire

Electronique :

Tutoriel

Tube aluminum

  1. Couper le tube pour qu'il fasse 10cm
  2. Percer le tube pour le bouton

Impression 3d

2 pieces sont à imprimer :

Design a partir du générateur de support de Cura

Le design de l’abat-jour peut se concevoir avec CURA en jouant avec le paramètre d’épaisseur du contour on peut choisir de ne garder que les supports qui peuvent présenter un intérêt en temps que diffuseur de lumière avec du fil transparent.

Electronique

La jolie carte a été dessiné dans Kicad. Elle est réalisable en 1 couche (avec un pont). ou en 2 couche avec serigraphie etc…

Vous pouvez gravez vous meme la carte en suivant la page ressource dédiée PCB DIY. (nous conseillons une gravure chimique)

Ensuite il faut souder les composants , toujours en commençant par les plus petits pour plus de confort.

Assemblage

Code

Les pins utilisées sur la carte pcb finale sont :

On upload le code suivant en ayant préalablement chargé les librairie necessaires pour la wemos :
Consultez ici la page ressource WEMOS ESP.

Fichiers sources code : lod.zip

Un code simple pour tester sans wifi et tout ce bazar :

//code simple pour tester la lampe : 
//Interrupteur on off pour allumer eteindre, et quand on appuie sur le bouton push = mode strobo relatif au capteur de lumiere.
//___________________________________________________________________
 
#define BTN_ONOFF D2 // bouton on/off D4
#define BTN_REC D1 // bouton rec
#define THELED D5 // la led
#define LIGHTSENSOR A0 // capteur lumière
 
void setup() {
  Serial.begin(9600);
  pinMode(THELED, OUTPUT);      
  pinMode(BTN_REC, INPUT_PULLUP);  
  pinMode(BTN_ONOFF, INPUT);  
}
 
void loop() {
 int buttonState = digitalRead(BTN_REC);
 int onoff = digitalRead(BTN_ONOFF);
 int light = analogRead(A0);
 
// lignes suivantes a decommenter pour voir en moniteur série : 
 
//           Serial.println("____");
//           Serial.print("push :"); Serial.println(buttonState);
//           Serial.print("ONOFF :");    Serial.println(onoff);
//           Serial.print("Lumiere :");      Serial.println(light);
//             delay(800);        // delay in between reads for stability
 
// STROBO mode light controlled :      
if ( buttonState == 0 ) {
digitalWrite(D5, HIGH);
delay (light);
digitalWrite(D5, LOW);
delay (light);
} else {
digitalWrite(D5, LOW);
}
 
// SIMPLE ON :   
 if ( onoff == 1 ) {
digitalWrite(D5, HIGH);
} else {
digitalWrite(D5, LOW);
}
 
}
//code simple pour tester la lampe : sonore...
//___________________________________________________________________
 
#define BTN_ONOFF D2 // bouton on/off D4
#define BTN_REC D1 // bouton rec
#define THELED D5 // la led
#define LIGHTSENSOR A0 // capteur lumière
 
void setup() {
  Serial.begin(9600);
  pinMode(THELED, OUTPUT);      
  pinMode(BTN_REC, INPUT_PULLUP);  
  pinMode(BTN_ONOFF, INPUT);  
}
 
void loop() {
 int buttonState = digitalRead(BTN_REC);
 int onoff = digitalRead(BTN_ONOFF);
 int light = analogRead(A0);
 
 
digitalWrite(THELED, 1);
delay (light/10);
digitalWrite(THELED, 0);
delay (light/10);
}

Idéal pour en atelier :

Arriver avec un kit comprenant :

Outils necessaire à l'atelier :

Déroulement atelier dans ces conditions Une séance = 2 ou 3h environ

Photos