====== Open Light Orchestra (OLO) ======
* Porteur du projet : Antoine Schmitt, Damien Gernay et Reso-nance Numérique (resonance) . [[:user:resonance|resonance]]
* Date : 20/09/2017/ - ...
* Licence : [[http://creativecommons.org/licenses/by-sa/3.0/legalcode|CC-by-sa-3.0]]
* Description : lampe portable, open-source, connectée et synchronisée avec les autres lampes identiques
* Fichiers sources 3D et PCB : {{ :projets:lights_orchestra_device_lod:lod_kicad_pcb.zip |}}
* Fichiers sources code : {{ :projets:lights_orchestra_device_lod:LOD.zip |}}
* Lien : //mettre un lien//
{{tag>lampe, wifi, esp}}
===== Description =====
{{ :projets:lights_orchestra_device_lod:img_9295.jpg?nolink |}}
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 : ====
- On allume la lampe
- Elle clignote rapidement (elle cherche d'autres lampes)
- Si elle trouve une autre lampe elle pulse lentement
- Avec le bouton poussoir, on peut enregistrer une sequence lumineuse avec le capteur de lumiere.
- En relachant le bouton, l'enregistrement (limité à 30secondes) s'acheve, et la led rejoue la séquence en boucle
- cette séquence est aussi transmise en wifi aux autres lampes à proximité
- 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 =====
* Tube aluminum 70mm exterieur et 5mm d'epaisseur.
* Imprimante 3d
**Electronique :**
* 1 BATTERY_CLIP_18MM_18650_CELL Battery
* 1 Wemos_D1_Mini (5€)
* 1 chargeur usb TP4056 (2€)
* 1 capteur de lumiere TEMT6000 (3€)
* 1 led 3w (2€)
* 1 C_Disc_D3.0mm_W1.6mm_P2.50mm 10nf
* 2 R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal 100K
* 1 interrupteur ONOFF ON/OFF (1€)
* 1 CONN_POL-x2-P2,54
* 1 CONN_POL-x2-P2,54
* 1 MOSFET TO-220_Horizontal IRLZ34N
* 1 CP_Radial_D6.3mm_P2.50mm 100uF
* 1 TRANSISTORE TO-92 BS170
===== Tutoriel =====
==== Tube aluminum ====
- Couper le tube pour qu'il fasse 10cm
- Percer le tube pour le bouton
==== Impression 3d ====
2 pieces sont à imprimer :
* le fond pour tenir la carte electronique
* le dessus qui fait office d'abat jour et ou se positionne la led et son radiateur
=== Design a partir du générateur de support de Cura ===
{{ :projets:lights_orchestra_device_lod:img_9140.jpg?nolink |}}
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.
{{youtube>9rOXzr_xidg?medium}}
==== 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...
{{ :projets:lights_orchestra_device_lod:carte3d.jpg?nolink |}}
{{ :projets:lights_orchestra_device_lod:ecran793.png?nolink&600 |}}
Vous pouvez gravez vous meme la carte en suivant [[materiel:pcb-diy:accueil|la page ressource dédiée PCB DIY.]]
//(nous conseillons une gravure chimique)//
{{:projets:lights_orchestra_device_lod:img_9174.jpg?nolink&500|}}
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 :
* BTN_ONOFF D2
* BTN_REC D1
* THELED D5
* LIGHTSENSOR A0
On upload le code suivant en ayant préalablement chargé les librairie necessaires pour la wemos : \\
Consultez ici [[materiel:esp8266:accueil|la page ressource WEMOS ESP]].
Fichiers sources code : {{ :projets:lights_orchestra_device_lod: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 :**
* la carte pcb deja gravé et percée et les composants a souder. et fils et plan de montage dans un petit sac par personne.
* tube en metal (coupé ou pas)
* fichiers 3d a imprimer et code a uploader
**Outils necessaire à l'atelier :**
* une imprimante 3d
* fer à souder, étain, pinces coupante , cutter, pince à denuder, multimetre
* perceuse à colonne et scie à metaux pour le tube metal
* pistolet à colle chaude ? pour sceller le tout ?
**Déroulement atelier dans ces conditions** Une séance = 2 ou 3h environ
* Une seance pour souder les composants...(et expliquer le circuit)
* Une séance dédié à l'impression 3d (explication et déviation du design)
* Une séance dédié au code ( exemple code simple sans wifi, capteur> actionneur direct ... puis fonction avancées...)
* Une séance assemblage total et jeu.
* Une séance sur le réseau et ses métaphores sociales et artistiques.
===== Photos =====
{{gallery>?&crop&lightbox}}