Gamepad Control for Processing + Android to Control Arduino Robot
Posted
by
Iker
on Stack Overflow
See other posts from Stack Overflow
or by Iker
Published on 2013-10-18T19:28:11Z
Indexed on
2013/10/20
15:54 UTC
Read the original article
Hit count: 261
I would like to create a Multitouch Gamepad control for Processing and use it to control a remote Arduino Robot. I would like to make the GUI on Processing and compile it for Android.
Here is the GUI Gamepad for Processing I have created so far:
float easing = 0.09;
// start position
int posX = 50;
int posY = 200;
// target position
int targetX = 50;
int targetY = 200;
boolean dragging = false;
void setup()
{
size(500,250);
smooth();
}
void draw()
{
background(255);
if (!dragging)
{
// calculate the difference in position, apply easing and add to vx/vy
float vx = (targetX - (posX)) * easing;
float vy = (targetY - (posY)) * easing;
// Add the velocity to the current position: make it move!
posX += vx;
posY += vy;
}
if(mousePressed)
{
dragging = true;
posX = mouseX;
posY = mouseY;
}
else
{
dragging = false;
}
DrawGamepad();
DrawButtons();
}
void DrawGamepad()
{
//fill(0,155,155);
//rect(0, 150, 100, 100, 15);
ellipseMode(RADIUS); // Set ellipseMode to RADIUS
fill(0,155,155); // Set fill to blue
ellipse(50, 200, 50, 50); // Draw white ellipse using RADIUS mode
ellipseMode(CENTER); // Set ellipseMode to CENTER
fill(255); // Set fill to white//
ellipse(posX, posY, 35, 35); // Draw gray ellipse using CENTER mode
}
void DrawButtons()
{
fill(0,155,155); // Set fill to blue
ellipse(425, 225, 35, 35);
ellipse(475, 225, 35, 35);
fill(255,0,0); // Set fill to blue
ellipse(425, 175, 35, 35);
ellipse(475, 175, 35, 35);
}
I have realized that probably that code will not support Multitouch events on Android so I came up with another code found on this link
Can Processing handle multi-touch?
So the aim of this project is to create de multitouch gamepad to use to control my Arduino Robot. The gamepad should detect which key was pressed as well as the direction of the Joystick.
Any help appreciated.
© Stack Overflow or respective owner