Control a Servo via Smartphone

I want to control the rotation of the round plate with the sensorss of the smartphone using 1Sheeld.

The smartphone is in position a) and can rotate around the X axis. Arduino will be use this information to rotate a round plate (gray color) with a servo (red circle). What I'm going to use for this purpose, Gyroscope or Accelerometer sensor? And which servo motor would be best suited given the high accuracy?


I get 9 values from smartphone over OSC (3axis accel, 3axis gyro, 3axis magnetometer). What I really need here is sensor fusion algorithm in processing using these 9 sensors values...

Let the cellphone do the math, and then send the servo position to arduino over bluetooth or wifi.

potter3366: And which servo motor would be best suited given the high accuracy?

You need to describe what you're trying to do in more detail. What has "high accuracy"?

How much does the round plate rotate? What sort of precision do you want.

You'll likely have better control using the accelerometer than using the gyros. The amount the phone is tilted one way or the other would be a relatively easy thing to figure out.

Here's a video explanation:

and here is what I have found:

Sensor fusion and IMU

...but I haven't yet to figure out how to transfer filtered data to processing (tcp, udp, osc protocols)

I have a solution in processing using hypermedia library and UDP socket.

void receive( byte[] data, String ip, int port ) { data = subset(data, 0, data.length-2); String message = new String( data ); String[] nums = split(message, ' '); float slope = Float.parseFloat(nums[1]); println(slope); }