//Alexander Montenegro
import processing.serial.*;
int x=500/2;
int y=500/2; //el punto centro de la pantalla
Serial port; //puerto por el que vamos a recibir los datos
int valor = 0;
void setup()
{
//println(Serial.list());
port = new Serial(this, Serial.list()[0], 9600);
//new Serial(this, COM[5], 9600);
size(500,500); //tamaƱo de la ventana
frameRate(100); // especifica el numero de fotogramas que muestra por segundo
smooth(); //suavizar
fill(50, 142, 253); //color del triangulo AZUL
}
void draw ()
{
while (port.available() > 0)
{
String cadena ="00"+port.readString(); //Lectura de datos desde arduino
valor = int(cadena.substring(2,cadena.length()));
println(cadena + ":" + valor);
}
background (255,255,255); //color de fondo
pushMatrix(); //entrada a la pila de matriz
translate(x, y); //trasladamos el triagulo en pantalla con respecto a su estado
triangle(0, -40, 30, 40, -30, 40); //pintar el triangulo
popMatrix(); //restaura la pila de matriz
//Condiciones que dependen del los valores recibidos desde arduino (movimientos de joystick)
if (valor == 1)
{
valor=0;
y-=10;
if (y<10) y=30;
}
if (valor == 2)
{
valor=0;
y+=10;
if (y>400) y=400;
}
if (valor == 3)
{
valor=0;
x+=10;
if (x>400) x=400;
}
if (valor == 4)
{
valor=0;
x-=10;
if (x<10) x=30;
}
}