Dimanche dernier, j’ai eu envie de m’intéresser un peu à Processing. Pour ceux qui ne connaissent pas, Processing est en environnement de développement, basé sur Java, orienté création artistique.
En surfant sur le site de Fritzing, j’ai trouvé le projet d’ardoise magique avec un Arduino, 2 potentiomètres et 1 bouton… Et j’ai décidé de jouer avec !
Dans ce projet, la carte Arduino Uno sert « juste » d’interface entre l’ordinateur et les actionneurs (potentiomètres…) on la transforme ni plus ni moins en carte d’entrées sorties. Le plus simple dans ce cas est d’utiliser la librairie Firmata. Elle est disponible depuis l’IDE Arduino, et il suffit juste de l’uploader sur la carte.
Firmata est également un protocole de communication qui permet de communiquer via différentes instructions : http://www.mon-club-elec.fr/pmwiki_reference_arduino
Donc, une fois la carte chargée avec la librairie Firmata, on peut faire un peu de câblage :
Rien de bien compliqué : 2 potentiomètre, 1 bouton poussoir et 1 résistance de rappel.
Vient ensuite le code Processing :
——————————————– Code ——————————–
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
float theta;
float newX, newY, oldX, oldY;
boolean firstRun=true;
void setup() {
size(800, 600);
println(Serial.list());
arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(2, Arduino.INPUT);
background(255, 255, 204);
strokeWeight(3);
stroke(51, 51, 51);
}
void draw() {
newX = arduino.analogRead(0);
newY = arduino.analogRead(1);
newX = map(newX, 0, 1023, 0, width);
newY = map(newY, 0, 1023, 0, height);
println(newX, » « , newY);
if (firstRun==true) {
oldX=newX;
oldY=newY;
firstRun=false;
}
line(newX, newY, oldX, oldY);
oldX=newX;
oldY=newY;
if (arduino.digitalRead(2)==0) {
print(« RAZ »);
background(255, 255, 204);
delay(100);
firstRun=true;
}
}
——————————————– / Code ——————————–
J’ai corrigé la ligne « arduino = new Arduino(this, Arduino.list()[0], 57600); » en mettant [0] à a place de 5, puisque la carte Arduino est la première et la seule de la liste.
Et voilà le résultat :
Fun !
Bon, j’avoue que cela n’est pas un exploit technique, mais ce sont mes débuts avec Processing !
Comme d’habitude, si vous avez des questions, n’hésitez pas à m’envoyer un mail ou à mettre un commentaire !