Simulation d'amour

Porteur du projet : Marine Espinasse

Date : 12/2016

Contexte : Expression Plastique

Réflexion

Nous pouvons noter dans un premier temps que le lexique de la peur et de l'appréhension est fortement présent dans ce brainstorming : se mettre à nu, retour impossible, sauter dans le vide... Mais qu'est ce qui peut bien nous inquiéter autant dans une déclaration d'amour? Peut être la réponse de la personne aimée. Elle peut être positive comme négative, dans tous les cas nous devons accepter de nous exposer entièrement devant autrui, dans une position de faiblesse, de fragilité.

Faire une déclaration d’amour, c’est un peu comme ouvrir une boîte de Pandore. On exprime un sentiment sans savoir ce qui viendra ensuite. Tous les malheurs peuvent s’abattre sur nous, comme tous les bonheurs, suivant la réaction de la personne aimée.

On peut apparenter ça à l’expérience du chat de Schrödinger : Expérience de pensée imaginée en 1935 par le physicien Erwin Schrödinger dans le but de mettre en évidence le problème de la mesure dans la mécanique quantique. Il imagine un dispositif dans lequel un chat est enfermé dans une boîte avec un dispositif qui tue l’animal dès qu’il détecte un certain événement. Comme la mécanique quantique indique que, tant que l’observation n’est pas faite, un atome est simultanément dans deux états (intact et désintégré), le chat serait donc simultanément mort et vivant, jusqu’à ce que l’ouverture de la boîte (observation) déclenche le choix entre les deux états.

Le moment entre une déclaration d’amour et sa réponse est relativement similaire : il est simultanément réciproque et à sens unique tant que l’autre n’a pas donné sa réponse. Il y a ainsi une part d’aléatoire dans une déclaration d’amour.

Intentions premières

Mêler le sensoriel et le digital au travers d'un objet interactif

Créer une véritable expérience pour le spectateur

Rendre compte de ressentis

Simulation d'amour

J'ai choisi de créer un simulateur de déclaration d'amour. Pour cela, j'ai divisé la déclaration en quatre variables majeures : la personne qui déclare son amour, celle qui reçoit, la manière dont la déclaration est faite ainsi que le lieu de celle-ci.

Je me suis servi de ce projet pour expérimenter des techniques pour la première fois. Ainsi, je me suis servie de l'imprimante 3D pour créer mes personnages, de la réalité augmentée pour illustrer les différents lieux, et du modelage pour les manières de déclarer. Enfin, j'ai crée une boîte grâce à une découpeuse laser pour faire une sorte de kit de déclaration d'amour.

Dans un second temps, j'ai crée une sorte de plateau de jeu, où l'on vient imbriquer chacune des variables. J'y ai placé des capteurs dans le but de détecter si chaque élément est à sa place. Si c'est le cas, un microcontrôleur vient activer une led RGB (une led pouvant prendre toute les couleurs possibles) de manière aléatoire. Ainsi, la lumière colorée apparaît tant comme la réponse à la déclaration qu'au sentiments ressentis sur le moment.

La part d'aléatoire permet d'illustrer l'aspect unique d'une déclaration d'amour. En effet, nous aurions beau tenter de choisir les meilleurs paramètres pour faire une déclaration, la réponse ne sera quand même jamais sûre.

Matériel

Microcontrôleur Seeduino Lotus

Interrupteurs à lames souples (capteurs magnétiques)

Application Augment (pour la réalité augmentée)

Découpeuse laser

Pâte Fimo

Blender

Code source

#include <ChainableLED.h>
#define NUM_LEDS 1 // pourquoi 5 (nombre de led ?)
#define aimant2 2 // declaration aimant port 2
#define aimant3 3
#define aimant4 4
#define aimant5 5 // déclaration aimant port 5
ChainableLED leds(7, 8, NUM_LEDS);
float hue = 0.0; // défini un nombre qui peut être décimal définissant la teinte de la LED RGB
boolean up = false; // bouléen = vrai ou faux, qui permet de choisir ou non un nombre aléatoire pour la teinte
void setup()
{
leds.init();
}
void loop()
{
int etat2 = digitalRead(aimant2);
if(etat2 == HIGH)//if the sensor value is HIGH?
{
int etat3 = digitalRead(aimant3);
if(etat3 == HIGH)//if the sensor value is HIGH?
{
int etat4 = digitalRead(aimant4);
if(etat4 == HIGH)//if the sensor value is HIGH?
{
int etat5 = digitalRead(aimant5);
if(etat5 == HIGH)//if the sensor value is HIGH?
{
if(up == false)
{
float X = random(0, 1000);
hue = X/1000;
}
leds.setColorHSB(0, hue, 1.0, 0.25); // (octet de la led, teinte, saturation, luminosité)
delay(0.25); // tempo de transition de teinte
up = true;
}
else
{
leds.setColorHSB(0, hue, 1.0, 0); // (octet de la led, teinte, saturation, luminosité)
up = false;
}
}
else
{
leds.setColorHSB(0, hue, 1.0, 0); // (octet de la led, teinte, saturation, luminosité)
up = false;
}
}
else
{
leds.setColorHSB(0, hue, 1.0, 0); // (octet de la led, teinte, saturation, luminosité)
up = false;
}
}
else
{
leds.setColorHSB(0, hue, 1.0, 0); // (octet de la led, teinte, saturation, luminosité)
up = false;
}
}

Liens

Arduino et système Grove

Contrôler une led RGB

Augment - réalité augmentée