Processing arduino slave from raspberry pi

hi there , im doing a project in which , a dual servo motor (X and Y axis) in a arduino is controled using a Mouse, when i run the processing code from a Windows Pc, it works perfectly , but when i control it from a Raspberry pi running “processing v3”, it gives the Interface window , but the Motor is unresponsive.

This is something @kll might be able to answer but you should list model of RaspberryPI and any other relevant details.

Hello,

Are you connected to the correct serial port?

Try a simple example that just turns an LED on and off and watch the Rx lights on the Arduino side.

I use serial pass through on receiving Arduino and a “USB-to-TTL serial adapter” to monitor communications between devices when doing development.

Thanks,
but The Rx light only “lits” up and the Servo works, perfectly when , running “Proessing software” from Pc (Arduino Connected to the Pc), but when i try to Do the Same thing From a Raspberry pi, (this time arduino connected to the Radpberry pi , and “Processing software” running in the raspberry pi) , the Rx light dont Glow.

heres the code

//Processing code:
import processing.serial.*;       

int xpos=90; // set x servo's value to mid point (0-180);
int ypos=90; // and the same here
Serial port; // The serial port we will be using

void setup()
{
  size(360, 360);
  frameRate(100);
  println(Serial.list()); // List COM-ports
  //select second com-port from the list (COM3 for my device)
  // You will want to change the [1] to select the correct device
  // Remember the list starts at [0] for the first option.
  port = new Serial(this, Serial.list()[0], 19200);
}

void draw()
{
  fill(175);
  rect(0,0,360,360);
  fill(255,0,0); //rgb value so RED
  rect(180, 175, mouseX-180, 10); //xpos, ypos, width, height
  fill(0,255,0); // and GREEN
  rect(175, 180, 10, mouseY-180);
  update(mouseX, mouseY);
}

void update(int x, int y)
{
  //Calculate servo postion from mouseX
  xpos= x/2;
  ypos = y/2;
  //Output the servo position ( from 0 to 180)
  port.write(xpos+"x");
  port.write(ypos+"y");
}

Heres the Output picture:

For your Concern, im trying something like , from the video:
https://www.youtube.com/watch?v=xrv2ldwO38U

BUT , Instead of Windows , Im Trying it from Raspberry PI.

1 Like

found the problem , in the line 14

port = new Serial(this, Serial.list()[0], 19200);

the [0] is turned to [1] , and now it WORKS PERFECTLY…

2 Likes

That is great because I was going to fire up my RPi and get this working. :)
I may still do this.

What does your:
println(Serial.list()); // List COM-ports
show on the RPi?

I assume you are using USB to USB and not the serial GPIO pins.
Which is it?

1 Like