Passerelle.Infini 2023 : Trobar
Introduction
Résumé du projet
membres du projet
- Stephane,
- Stephanie,
- Sebastien,
- Guillaume.
1/ Pistes et recherches
1.1 Bibliographie et webographie sur le projet
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.
1.2 Pistes explorée, abandonnées ou fertiles
Nous avions le projet de récupérer l'ambiance sonore afin que cette information sonore inter agisse sur sur notre réalisation, ainsi que d integrer d autres instruments, boîtes à effets musicales...dans le but que ces éléments sonores interagissent sur une boîte qui nous donnerai une histoire, mots, émotions....
Après de longs échanges, nous avons décidé que cette boîte nous affichera des mots de façon aléatoire suivants les différentes éléments sonores...et que l histoire serait par une personne seul ou un groupe....
1.3 L'objet idéal
2/ Fabrication du prototype
2.1 Matériel et fourniture nécéssaires
- Ordinateur (Windows/Linux) avec le logiciel arduino IDE
- Découpe Laser (surface de 300*300mm minimum) capable de découper du CP léger de 3mm.
- Un kit Arduino (Arduino mini ou Uno, alimentation 5v indépendante, câble USB...)
- 9 LED adressables (souvent vendu en bandeau que l'on pourra couper).
- Bois
- Bouton de borne d'arcades
- Haut parleur
- Vis à bois
- Colle chaude
- Le nécessaire de soudure électronique et composants de base
2.1 Hardware
2.1.1 Le cadran à LED
Nous allons réaliser un cadran de 9 cases sur lequel il pourra être positionné des étiquettes à écriture transparente de 77*77mm.
- Commencer par découper trois plaques de CP de 3mm selon les fichiers nommés Cadre1.svg Cadre2.svg et Cadre3.svg.
- Couper également au laser la boite à cadran qui sera à positionner à l'arrière des 3 cadres. (Ce dernier fichier est éventuellement à refaire car dans notre version ce cadre n'est pas correctement dimensionné par rapport aux trois cadres placés devant.
- Superposer ces trois plaques les unes sur les autres en suivant l'ordre défini (1,2,3). La plaque 3 sera celle visible sur le dessus.
- Coller ces dernières
- Couper au bandeau LED 9 pièces, les souder les unes aux autres au moyens de fils de 10cm environ. Réaliser ainsi une série de 9 LED distantes d'environ 11cm les une des autres. Veiller à ce que ces LED soient assemblés dans le bon sens (flèche allant des fils d'alimentation à la dernière LED). On utilisera entre chaque LED 3 fils un rouge pour le VCC, un jaune pour le data et un noir pour la masse. A l'entrée de cette série, souder 3 fils plus long (environ 20cm) avec des connecteurs duponts mâles pour se connecter facilement à l'Arduino).
- Passer les LED en serpentin dans la boite à cas précédemment découpe. Nous n'avons pas prévu de passage entre cases alors découper une encoche entre chaque case au cutter ou modifiez le fichier.
- Coller chaque LED bien au centre des case.
- Brancher le fil noir sur une masse (GND) de l'arduino, le fil rouge sur une alimentation (5v), et le fil jaune sur la pin 6 de l'Arduino (cf. schéma ci dessous).
- Brancher un bouton poussoir (bouton d'arcade) entre une masse et la borne 2 de l'Arduino.
Le shèma ci dessous a été réalisé à l'aide du logiciel libre fritzing complété de l'empreinte d'un ruban LED NeoPixel (cc-by-sa majikthys)
2.2 Software
Le programme suivant propose de déclencher à la pression du bouton poussoir, un effet de lumière multicolore se terminant au bout de quelques secondes par le choix aléatoire d'une seule des 9 cases. Ce code est librement inspiré des exemples fourni avec la librairie Adafruit_NeoPixel.h (GNU Lesser General Public License)
/*Le projet Trobar a été réalisé dans le cadre du marathon créatif paserelle.infini eyant eu lieu à la paserelle à Brest le 9 et 10 mars 2023. Il est le programme du prototype réalisé dans les deux jours et en aucun cas une version finale. Ce code allume 9 led à la pression d'un bouton poussoir et choisis au hasard une des 9 cases qu'il allumera en blanc*/ #include <Adafruit_NeoPixel.h> //Nécessite de préinstaller dans votre IDE la librairie Adafruit_NeoPixel.h #ifdef __AVR__ #include <avr/power.h> #endif // Défini le numéro de broche où sera connecté le fil de datas du ruban LAED #define PIN 6 // Combien de DEL y a t-il sur votre trobar ? #define NUMPIXELS 9 Adafruit_NeoPixel strip(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); //Défini le numéro de broche où sera connecté le bouton poussoir int bouton=2; //Défini une variable qui servira à choisir un nombre aléatoire. Ne pas modifier cette variable. int nbreAleatoire=0; void setup(){ pinMode(bouton, INPUT_PULLUP); strip.begin(); // Initialise le ruban LED } void loop(){ if(!digitalRead(bouton)){ strip.clear(); depart(50); delay(1000); strip.clear(); nbreAleatoire = random(0, 8); strip.setPixelColor(nbreAleatoire, strip.Color(150, 150, 150)); strip.show(); } } void depart(int wait){ int firstPixelHue = 0; // Premier pixel démarre sur rouge for(int a=0; a<60; a++) { // Répète 60 fois for(int b=0; b<3; b++) { strip.clear(); for(int c=b; c<strip.numPixels(); c += 3) { int hue = firstPixelHue + c * 65536L / strip.numPixels(); uint32_t color = strip.gamma32(strip.ColorHSV(hue)); strip.setPixelColor(c, color); } strip.show(); delay(wait); firstPixelHue += 65536 / 90; } } }