Per fa si che arduino conosca la posizione del tuo mouse (o comunque una sua interpretazione) i passid a fare sono:
- avere un sw sul pc in grado di leggere la posizione del mouse
- nello stesso sw ci deve essere una parte dedicata all'invio del valore alla porta seriale di Arduino
- su Arduino ci deve essere uno sketch in ascolto sulla seriale ed ogni volta che riceve qualcosa lo trasforma in una differente luminosità del led
Nell'esemio che hai trovato tutti e tre i passi sono già fatti: lo sketch lo carichi su Arduino e su processing fai girare questo codice:
// Dimmer - sends bytes over a serial port
// by David A. Mellis
//This example code is in the public domain.
import processing.serial.*;
Serial port;
void setup() {
size(256, 150);
println("Available serial ports:");
println(Serial.list());
// Uses the first port in this list (number 0). Change this to
// select the port corresponding to your Arduino board. The last
// parameter (e.g. 9600) is the speed of the communication. It
// has to correspond to the value passed to Serial.begin() in your
// Arduino sketch.
port = new Serial(this, Serial.list()[0], 9600);
// If you know the name of the port used by the Arduino board, you
// can specify it directly like this.
//port = new Serial(this, "COM1", 9600);
}
void draw() {
// draw a gradient from black to white
for (int i = 0; i < 256; i++) {
stroke(i);
line(i, 0, i, 150);
}
// write the current X-position of the mouse to the serial port as
// a single byte
port.write(mouseX);
}
Se questi 2 passi li hai già fatti (ma non ce lo hai detto, non potevamo saperlo) allora potrebbe essere che la porta seriale di default impostata su processing ( 0 ) non corrisponda a quella della tua arduino. In questo caso dovresti:
una volta lanciata l'applicazzione, guardare nella "striscia nera" sotto l'ide (di processing) perchè il metodo:
println(Serial.list());
fa si che che compaiano tutte le porte seriali che processing riesce a vedere e vengono numerate, prendi quel numero e lo metti:
port = new Serial(this, Serial.list()[0], 9600);
in alternativa se cosci già la porta a cui è collegato (come dovresti), specialmente su Win dove i numeri delle COM sono assegnati ai device puoi scrivere:
port = new Serial(this,"COMx", 9600);
dove al posto della x metti il numero della COM port di Arduino, ad esempio COM8.