HP21 Lumière : Le Prisme : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 32 : Ligne 32 :
 
Réalisation d'une structure en papier pour la vidéoprojection.
 
Réalisation d'une structure en papier pour la vidéoprojection.
 
Test avec l'application HEAVY M pour vérifier le rendu et la complexité d'utilisation
 
Test avec l'application HEAVY M pour vérifier le rendu et la complexité d'utilisation
 +
  
 
[[Fichier:Leprisme 5.jpg|400px]][[Fichier:Leprisme 6.jpg|200px]][[fichier:Leprisme_HP21_test1.jpg|400px]]
 
[[Fichier:Leprisme 5.jpg|400px]][[Fichier:Leprisme 6.jpg|200px]][[fichier:Leprisme_HP21_test1.jpg|400px]]
Ligne 37 : Ligne 38 :
  
 
'''Étape 3 : la fabrication'''
 
'''Étape 3 : la fabrication'''
 +
'''VERSION 0.0'''
 +
 +
Fabrication de la structure référence en carton. Ajout de papier alu à l'intérieur pour une meilleure réfraction de la lumière des Leds.
 +
 +
[[Fichier:Leprisme 7.jpg|200px]][[Fichier:Leprisme 8.jpg|200px]]
 +
 
Utilisation d'un capteur de présence géré à partir d'un  Arduino, ce capteur déclenchera l'allumage d'un ruban LED placé à l'intérieur de la structure.
 
Utilisation d'un capteur de présence géré à partir d'un  Arduino, ce capteur déclenchera l'allumage d'un ruban LED placé à l'intérieur de la structure.
 
* 1 carte Arduino
 
* 1 carte Arduino
Ligne 43 : Ligne 50 :
 
* 1 breadboard pour le montage
 
* 1 breadboard pour le montage
  
Utilisation de la librairie "NEOPIXEL" pour le paramétrage LED
+
Utilisation d'une librairie "Adafruit NEOPIXEL" pour le paramétrage LED
 +
ajout de code pour interagir avec le capteur de distance : "plus on s'approche du capteur, plus l'intensité lumineuse varie"
 +
 
 +
Code utilisé :
 +
<pre>
 +
// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
 +
// Released under the GPLv3 license to match the rest of the
 +
// Adafruit NeoPixel library
 +
//on s'approche et la lumière baisse
 +
 
 +
#include <Adafruit_NeoPixel.h>
 +
#include <Ultrasonic.h>
 +
int lum=0;
 +
 
 +
// Which pin on the Arduino is connected to the NeoPixels?
 +
#define PIN        10 // On Trinket or Gemma, suggest changing this to 1
 +
Ultrasonic ultrasonic(12, 13);
 +
int distance;
 +
 
 +
// How many NeoPixels are attached to the Arduino?
 +
#define NUMPIXELS 16 // Popular NeoPixel ring size
 +
 
 +
// When setting up the NeoPixel library, we tell it how many pixels,
 +
// and which pin to use to send signals. Note that for older NeoPixel
 +
// strips you might need to change the third parameter -- see the
 +
// strandtest example for more information on possible values.
 +
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
 +
 
 +
#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels
 +
 
 +
void setup() {
 +
  // These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
 +
  // Any other board, you can remove this part (but no harm leaving it):
 +
 
 +
  pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
 +
  Serial.begin(9600);
 +
}
 +
 
 +
void allume(){
 +
  for(int i=0; i<NUMPIXELS; i++) {
 +
    pixels.setPixelColor(i, pixels.Color(distance, 0, 0));
 +
  }
 +
  pixels.show();
 +
}
 +
 
 +
void eteint(){
 +
    for(int i=0; i<NUMPIXELS; i++) {
 +
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));
 +
  }
 +
    pixels.show();
 +
}
 +
 
 +
 
 +
void loop() {
 +
  distance = ultrasonic.read();
 +
  delay(100);
 +
 
 +
  if (distance<2000){
 +
    allume();
 +
  } else {
 +
    eteint();
 +
  }
 +
}
 +
</pre>
 +
 
 +
 
 +
'''Projection avec HEAVY M'''
 +
calibrage de la forme
 +
création de l'animation vidéo
 +
 
 +
 
  
 
Création de la structure ajourée en découpe laser. Élaboration de la forme vectorielle
 
Création de la structure ajourée en découpe laser. Élaboration de la forme vectorielle

Version du 7 décembre 2021 à 17:00

HP 21 Lumiere Multiangle object.jpg

Le PRISME : morphing vidéo augmenté

L'idée : créer une structure de forme complexe, support pour de la vidéo projection et de l'illumination

Exemple concret : https://www.youtube.com/watch?v=zdIXOGpJnFA


L'équipe : Didier, Océane, Max et Olivier


Étapes de travail : définition du projet à réaliser en l'espace de 2 jours / faisabilité. repérage des contraintes : quelle forme ? projection extérieure/intérieure ? quelle application  ? Choix d'une forme triangulaire pour se rapprocher de l'idée de départ autour du prisme. Notre projet prévoit la réalisation d'une structure "simple" qui pourra à la fois être support pour de la vidéo projection et permettra aussi un habillage lumineux par l'intérieur.

Étape 1 : repérage d'applications de mapping

  • MAPMAP : logiciel entièrement gratuit et open source. Très simple d’utilisation mais avec des fonctionnalités limitées par rapport à HeavyM.https://mapmapteam.github.io/

des projets avec MapMap :

  • HEAVY M : Vidéomapping ultra simple, facile à comprendre, gratuit pour un usage non commercial (pas de possibilité de sauvegarde, watermark). https://www.heavym.net/fr/
  • TOUCHDESIGNER TouchDesigner est un outil idéal pour créer à la fois des projections architecturales, des installations interactives, des visuels audio-réactifs, des prototypes, ou encore pour faire des virtualisations. Gratuit pour un usage non commercial. https://derivative.ca/
  • MADMAPPER  : MadMapper représente probablement le logiciel le plus avancé dans le domaine du mapping vidéo. Ses fonctions originales comme le Spacial Scanner, la calibration 3D. sa capacité à gérer la vidéo et la lumière ainsi que sa compatibilité avec un grand nombre de protocoles (entre autres DMX, ArtNet, MIDI, OSC, Leap Motion) et de logiciels tiers en font un outil de mapping polyvalent. https://madmapper.com/


Étape 2 : Test + maquette

Réalisation d'une structure en papier pour la vidéoprojection. Test avec l'application HEAVY M pour vérifier le rendu et la complexité d'utilisation


Leprisme 5.jpgLeprisme 6.jpgLeprisme HP21 test1.jpg


Étape 3 : la fabrication VERSION 0.0

Fabrication de la structure référence en carton. Ajout de papier alu à l'intérieur pour une meilleure réfraction de la lumière des Leds.

Leprisme 7.jpgLeprisme 8.jpg

Utilisation d'un capteur de présence géré à partir d'un Arduino, ce capteur déclenchera l'allumage d'un ruban LED placé à l'intérieur de la structure.

  • 1 carte Arduino
  • 1 capteur de distance - HCR 04
  • 1 ruban led RGB programmable
  • 1 breadboard pour le montage

Utilisation d'une librairie "Adafruit NEOPIXEL" pour le paramétrage LED ajout de code pour interagir avec le capteur de distance : "plus on s'approche du capteur, plus l'intensité lumineuse varie"

Code utilisé :

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// Released under the GPLv3 license to match the rest of the
// Adafruit NeoPixel library
//on s'approche et la lumière baisse

#include <Adafruit_NeoPixel.h>
#include <Ultrasonic.h>
int lum=0;

// Which pin on the Arduino is connected to the NeoPixels?
#define PIN        10 // On Trinket or Gemma, suggest changing this to 1
Ultrasonic ultrasonic(12, 13);
int distance;

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 16 // Popular NeoPixel ring size

// When setting up the NeoPixel library, we tell it how many pixels,
// and which pin to use to send signals. Note that for older NeoPixel
// strips you might need to change the third parameter -- see the
// strandtest example for more information on possible values.
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels

void setup() {
  // These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
  // Any other board, you can remove this part (but no harm leaving it):

  pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
  Serial.begin(9600);
}

void allume(){
  for(int i=0; i<NUMPIXELS; i++) { 
    pixels.setPixelColor(i, pixels.Color(distance, 0, 0));
  }
  pixels.show();
}

void eteint(){
     for(int i=0; i<NUMPIXELS; i++) { 
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));
  }
    pixels.show();
}


void loop() {
  distance = ultrasonic.read();
  delay(100);
  
  if (distance<2000){
    allume();
  } else {
    eteint();
  }
}


Projection avec HEAVY M calibrage de la forme création de l'animation vidéo


Création de la structure ajourée en découpe laser. Élaboration de la forme vectorielle