Titre du Projet
Write In, Coulour Out
Auteur(s)
CAROLINE BIZIEN, ANTOINE COUSIN, VENG LOU
Intentions / Contexte
Dans le cadre de l’exposition Exit à la MAC de Créteil, réalisation d’une interface Arduino/Processing, pour expérimenter le principe du flip flop.
Principe de Fonctionnement
La « zone d’écriture » cache des passages de circuits électriques entravés par du tissu résistif : à chaque point, Arduino enregistre la résistance rencontrée lorsque le stylo écrit par dessus. Ainsi, la valeur enregistrée sera différente selon que l’écrivain appuie fort, légèrement ou pas du tout : à chacun ses valeurs…
Ces valeurs influent ensuite sur les couleurs des carrés dessinés sur Processing.
Besoins / Compétences
Nous pensons utiliser du tissu, du tissu résistif, des fils électriques, des résistances, une carte Arduino, et un ordinateur. Nous aurons besoin d’un code Processing.
Illustration / Schéma
Initialement, nous voulions associer chaque carré à un des six capteurs, mais il semble qu’Arduino supporte mal de considérer autant d’informations en même temps : la valeur du sixième carré est donc obtenue en ajoutant une somme à la valeur d’un capteur déjà utilisé.
Code utilisé :
import processing.serial.*;
import cc.arduino.*;
///importation des librairies: langage voir étiquettes site processing
Arduino monArduino;
//Arduino ex une voiture .
float valeur0;
float valeur0Map;
float valeur1;
float valeur1Map;
float valeur4;
float valeur4Map;
float valeur3;
float valeur3Map;
void setup() {
size(1200, 800);
background(0, 0, 0);
println(Arduino.list());
///c’est ce qui affiche la ligne avec le port série, il faut lancer le code pour que la ligne s’affiche
//il s’agit de dire d’imprimer toute la liste des éléments arduino
monArduino=new Arduino(this, Arduino.list()[3], 57600);
//>[=shift+alt+parenthèse
//57600=chiffre par défaut de vitesse d’action dans arduino
}
void draw() {
valeur0=monArduino.analogRead(0);
valeur0Map=map(valeur0, 300, 1050, 0, 100);
valeur1=monArduino.analogRead(1);
valeur1Map=map(valeur1, 300, 1050, 0, 100);
valeur4=monArduino.analogRead(4);
valeur4Map=map(valeur4, 300, 1050, 0, 100);
valeur3=monArduino.analogRead(3);
valeur3Map=map(valeur3, 300, 1050, 0, 100);
println(valeur0);
println(valeur1);
println(valeur4);
println(valeur3);
if (valeur0>400||valeur1>400||valeur4>400||valeur3>400)
{
save(« Memory.png »);
//Couleurs pastels : mode de couleur High, Saturation, Brightness
colorMode(HSB, 100, 100, 100);
//carré 1
fill(valeur0Map, 50, 100 );
noStroke();
rect(0, 0, 400, 400);
//carré 2
fill(valeur1Map, 50, 100);
noStroke();
rect(400, 0, 400, 400);
//carré 3
fill(valeur4Map, 50, 100);
noStroke();
rect(800, 0, 400, 400);
//carré 4
fill(valeur3Map, 50, 100);
noStroke();
rect(0, 400, 400, 400);
//carré 5
fill(valeur0Map+25, 50, 100);
noStroke();
rect(400, 400, 400, 400);
//carré 6
fill(valeur4Map+25, 50, 100);
noStroke();
rect(800, 400, 400, 400);
} else {
fill(0, 0, 0);
noStroke();
rect(0, 0, 1200, 800);
}
}