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.
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…
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?