Paso 3: Paso 3: código
Si no has usado procesamiento antes, puede actuar como una visual a Arduino con la salida del monitor serie. No es necesario el código de procesamiento a utilizar el guante de TouchSense, simplemente añade el elemento visual de piano. Si ya no tiene tratamiento, se puede descargar aquí. El código de procesamiento utilizado para piano sencillo visto en la imagen anterior es la siguiente:
import processing.serial.*;Serial myPort; char key= 'N'; //default = no keyvoid setup(){ size(500, 300); //hardcoded port selection. Check which is your Arduino Serial println("ports: "); println(Serial.list()); myPort = new Serial(this, Serial.list()[0], 9600); // The [0] may need to be change if your port is different}void draw(){ fill(255); //five keys for piano keys C-G rect(0,0,100,300); //thumb = C rect(100,0,100,300); //index = D rect(200,0,100,300); //middle = E rect(300,0,100,300); //ring = F rect(400,0,100,300); //pinky = G fill(0); rect(70,0,60,200); rect(170,0,60,200); rect(270,0,60,200); rect(370,0,60,200); if(myPort.available() > 0){ key = myPort.readChar(); println(key); } fill(0); switch(key) { //if one of the keys : black circle case 'T': rect(0,0,100,300); break; case 'I': rect(100,0,100,300); break; case 'M': rect(200,0,100,300); break; case 'R': rect(300,0,100,300); break; case 'P': rect(400,0,100,300); break; case 'A': //TI rect(0,0,100,300); rect(100,0,100,300); break; case 'B': //TM rect(0,0,100,300); rect(200,0,100,300); break; case 'C': //TR rect(0,0,100,300); rect(300,0,100,300); break; case 'D': //TP rect(0,0,100,300); rect(400,0,100,300); break; case 'E': //IM rect(100,0,100,300); rect(200,0,100,300); break; case 'F': //IR rect(100,0,100,300); rect(300,0,100,300); break; case 'G': //IP rect(100,0,100,300); rect(400,0,100,300); break; case 'H': //MR rect(200,0,100,300); rect(300,0,100,300); break; case 'J': //MP rect(200,0,100,300); rect(400,0,100,300); break; case 'K': //RP rect(300,0,100,300); rect(400,0,100,300); break; //if N: do nothing case 'N': break; }}