Deux servomoteurs pilotent les axes X et Y, ainsi grâce à un feutre inséré dans une glissière on peur traduire un dessin Processing physiquement. Pour cet exemple on a choisit une génération de cercles à des coordonnées aléatoire, notre traceur relie les points.
import processing.serial.*;
import cc.arduino.*;
int vitesse = 100;
int diametre = 10;
int x;
int y;
Arduino arduino;
void setup() {
size(600, 600);
background(255);
x = width/2;
y = height/2;
println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[7], 57600);
arduino.pinMode(6, Arduino.SERVO);
arduino.pinMode(7, Arduino.SERVO);
}
void draw() {
x += random(-vitesse, vitesse);
y += random(-vitesse, vitesse);
x = constrain(x, 0, width);
y = constrain(y, 0, height);
ellipse(x, y, diametre, diametre);
delay(100);
arduino.servoWrite(7, x/16);
arduino.servoWrite(6, y/32);
}