I modify the joystick code for the input device week, and make data from all axis readable
int JoyStick_X = 0; //x
int JoyStick_Y = 1; //y
int JoyStick_Z = 3; //key
void setup() 
{ 
 pinMode(JoyStick_X, INPUT); 
 pinMode(JoyStick_Y, INPUT); 
 pinMode(JoyStick_Z, INPUT); 
 Serial.begin(9600); // 9600 bps
}
void loop() 
{
     int x,y,z;
     x=analogRead(JoyStick_X);
     y=analogRead(JoyStick_Y);
     Serial.print(x ,DEC);
     Serial.print(",");
     Serial.print(y ,DEC);
     Serial.print(",");
     Serial.println(z ,DEC);
     delay(100);
}
Although it works find in arduino, I can get a steady data shown in serial monitor
516,526,0when the joystick stays in middle position, but when I trying to visualize the data in processing, I bump into some data format problem.
import processing.serial.*;
Serial myport;
int joy;
void setup() {
  size(1000, 1000);
  background(0);
  // Open whatever port is the one you're using.
  myport = new Serial(this, "/dev/tty.usbserial-AH01B140", 9600);
}
void draw(){
  joy = myport.read();
  ellipse (joy*10,50,5,5);
  println(joy);
}
The result wasn't pretty
53 49 54 44 53 50 54 13 10 53 49 54 44 53 50 54 13 10 53 49
After days of debugging process, I finally realized that the data obtained in processing is ASCII format, so I went back to modify the original Arduino code uploaded to the chip
int JoyStick_X = 0; //x 
int JoyStick_Y = 1; //y 
int JoyStick_Z = 3; //key 
void setup() {
 pinMode(JoyStick_X, INPUT);
 pinMode(JoyStick_Y, INPUT);
 pinMode(JoyStick_Z, INPUT);
 Serial.begin(9600); // 9600 bps 
} 
void loop() { 
	int x,y,z; x=analogRead(JoyStick_X)/4; 
	y=analogRead(JoyStick_Y)/4; 
	Serial.write(x); 
	Serial.write(y); delay(100); 
}
I tweak the color a little bit to get a better view result
import processing.serial.*;
Serial myport;
int joy;
void setup() {
  size(258, 262);
  background(255,255,255);
 myport = new Serial(this, "/dev/tty.usbserial-AH01B140", 9600);
}
void draw(){
   if(myport.available() > 1) {
int x = myport.read();
int y = myport.read();
println( "x = " +x );
println( "y = " +y );
background(255,255,255);
fill(255,0,0);
stroke(255,0,0);
ellipse(x,y,20,20);
 }
}
So here I got a GUI with a red dot shoing the position of the joystick! (finally)
