import processing.serial.*; Serial myPort; // Create object from Serial class int val; // Data received from the serial port int valOld; float[][] matrix; void setup() { // I know that the first port in the serial list on my mac // is Serial.list()[0]. // On Windows machines, this generally opens COM1. // Open whatever port is the one you're using. String portName = Serial.list()[0]; //change the 0 to a 1 or 2 etc. to match your port myPort = new Serial(this, portName, 115200); matrix = new float[20][20]; size(1000,1000); for(int i=0;i<16;i++){ for(int j=0;j<12;j++){ matrix[j][i]=0; } } } void draw() { if (mousePressed == true) { //if we clicked in the window myPort.write('1'); //send a 1 println("1"); } if ( myPort.available() > 0) { // If data is available, for(int i=0;i<12;i++){ for(int j=0;j<16;j++){ val= myPort.read(); // read it and store it in val matrix[j][i]=Integer.valueOf(val); //println(val); delay(10); if(myPort.read()==-1){ break; } } } } delay(10); //if(val!=valOld){ // for(int i=0;i<12;i++){ // for(int j=0;j<16;j++){ // print(matrix[j][i]); //print it out in the console // print('\t'); // } // println(); // } //valOld=val; //} for(int i=0;i<12;i++){ for(int j=0;j<16;j++){ float x=i*120; float y=j*120; if(matrix[j][i]==49){ fill(0,0,0); } else if(matrix[j][i]==51){ fill(64,0,0); } else if(matrix[j][i]==52){ fill(128,0,0); } else if(matrix[j][i]==53){ fill(255,0,0); } ellipse(60+x,60+y,120,120); } } }