problema con servomotor y los angulos de trabajo.

Buenas tardes,
Llevo un rato buscando por google y no sé si me queda clara la cosa o no...
Estoy montando un coche con brazo robot el cual se maneje mediante bluetooth y el telefono movil.
La cuestión es la siguiente.
Casi todos los tutoriales que veo por la red controlan los servomotores mediante angulos.
los hacen girar X grados, bien sea a la izquierda o a la derecha.
Mi intencion es que el servomotor se guie por el botón y no por angulos. si lo mando girar a la izquierda quiero que gire solo el tiempo que tenga pulsado el botón, en el momento en el que suelte el botón el servomotor tendrá que pararse.
he encontrado en la red un código el cual podría cumplir lo que busco.

#include 

Servo myservo;
#define leftPin 2
#define rightPin 4
int pos = 90;
//Declaramos las salidas y el valor del servo ne posicion inicial

void setup()
{
  myservo.attach(3); //Salida del servo
  myservo.write(pos); 
  pinMode(leftPin, HIGH);   //Posicion de los botones
  pinMode(rightPin, HIGH);
}

void loop() //Empezamos el ciclo
{
  if(digitalRead(leftPin) == LOW) //Si oprimimos el boton izquierdo
  {
   if( pos > 0)
 --pos;
    myservo.write(pos);  //Mueve el servo a la izquierda
  }
  if(digitalRead(rightPin) == LOW)  //Si oprimimos el boton derecho
  {
   if( pos < 180)
  ++pos;
    myservo.write(pos); //Mueve el servo a la derecha
  }
}

es posible que sea eso lo que busco?

Un saludo y feliz navidad!

es exactamente lo que buscas pero cambiaría

pinMode(leftPin, HIGH);   //Posicion de los botones
  pinMode(rightPin, HIGH);

por

pinMode(leftPin, INPUT_PULLUP);   //Posicion de los botones
  pinMode(rightPin,INPUT_PULLUP );

y conectar los pulsadores entre el pin y tierra

ten en cuenta que el loop lo ejecutará enseguida 180 veces en unos ms y el resultado será que el servo se irá de un extremo al otro por corto que sea la pulsación del botón.

puedes poner un delay de unos 100 ms para bajar la velocidad a la que se mueve el servo y así poder controlar su posición correctamente

muchas gracias por tu respuesta.
Los pulsadores no serán físicos, irá mediante Bluetooth, por lo que el programa tendré que modificarlo ligeramente.
Si que puedo poner un mínimo delay por lo que comentas, no quiero que haga movimientos bruscos, quiero que vaya suavemente.
A ver si me da tiempo esta semana, lo pruebo y os muestro resultados.
Muchísimas gracias y un saludo.

mi consejo: prueba primero con pulsadores, luego con el terminal de arduino y si funciona ya te embarcar en el Bluetooth

por otro lado si vas a hacer una aplicación para el móvil mejor que dos pulsadores es que te crees un control tipo slider, por que? por que por Bluetooth no puedes estar mandando una señal constante como si fuera un pin y mandar muchos datos al final es un engorro, quizás uno al pulsar y otro al soltar pero requiere cambios en tu código

con el slider solo tienes que mandar la posición del selector cada vez que se modifique ( hay eventos para eso)

Hola,
Me gusta tu idea del slider, de echo ya tengo una aplicación en android(descargada) que lo utiliza para subir y bajar intensidad de La Luz en un proyecto y quizá ese mismo me sirva para este propósito y comprobar que funciona correctamente.
Voy a investigar a ver si veo algún proyecto similar en el que lo utilicen.

Muchas gracias y un saludo.

Usa APP Inventor que es fácil para estas cosas y busca un slider con app inventor.

o este video que combina slider BT y app inventor. o su Instructables

surbyte:
Usa APP Inventor que es fácil para estas cosas y busca un slider con app inventor.
Selector de color - Slider y color - App Inventor en Español

o este video que combina slider BT y app inventor. o su Instructables

si, es el programa que suelo utilizar para estas cosas.
a ver si esta semana puedo empezar con la programación, el robot lo tengo casi terminado.

un saludo y muchas gracias.

Buenos días,
lo que os preguntaba es para el siguiente proyecto:
http://forum.arduino.cc/index.php?topic=444324.0

un saludo.