Stap 3: Stap 3: verwerking van Code
Als u geen verwerking vóór gebruikt, kan het fungeren als een visuele aan Arduino met behulp van de seriële monitor-uitgang. Hoeft u niet de code van de verwerking te gebruiken de TouchSense handschoen, gewoon voegt het visuele element van de piano. Als u nog geen verwerking, het kan worden gedownload hier. Het volgende is de code van de verwerking die wordt gebruikt voor de eenvoudige piano gezien in de bovenstaande afbeelding:
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; }}