memorizar movimientos dos servos y reproducir movimiento a movimiento

Hola compañeros.

Soy nuevo en el foro y relativamente nuevo en arduino.

Estoy inmerso en un proyecto personal y necesito vuestra ayuda. Os cuento.

Necesito memorizar movimientos de dos servos de forma que luego los pueda reproducir por medio de un pulsador. Me explico:

(una vez memorizados los movimientos) pulsas el pulsador y se inicia movimento 1 de servo1 y movmiento 1 de servo2. Cuando finalizan los movimientos se paran. Vuelves a pusar y se inicia movimiento 2 servo1 y movimiento 2 servo2. Finalizan y cuando vuelves a pulsar se inicia movimiento 3 servo1 y movimiento 3 servo2 y asi sucesivamente.

Un saludo y gracias de antemano.

Cual es la pregunta?

La pregunta es :

Necesito memorizar movimientos de dos servos de forma que luego los pueda reproducir por medio de un pulsador. Me explico:

Creo que lo que quieres lo tienes en mi página

http://www.jopapa.me/servofeedback.html

Jopapa:
Creo que lo que quieres lo tienes en mi página

Servo con feeedback

Mola mucho. No sabia que se podia hacer esto.

[/quote]

Jopapa:
Creo que lo que quieres lo tienes en mi página

Servo con feeedback

Gracias jopapa, es de gran ayuda. Aunque lo que querria hacer es memorizar los movimientos desde el IDE de arduino (a base de código) y resolver el "problema" de parada y "accionamiento" de forma que todo quede grabado desde el IDE.

Un saludo.

Refloto el post.

He llegado a esto, que se asemeja mucho a lo que quiero.

#include <Servo.h>

//Pines que soportan PWM:
Servo servoFront; // Define Servo de moviento frontal (de 90 a 0)
Servo servoLateral;

//Pin usado como entrada para reconocer el boton:
int pinButton = 7;
//Variable para guardar el estado del boton:
int buttonValue;
//Variable para elegir color.
int count = 0;

//Variables auxiliares:
int button_old = 0;

void setup() {
servoFront.attach(10); // Servo de movimento frontal en pin 10
servoLateral.attach(11); // Servo de movimiento lateral en pin 9
//Inicializo pin de entrada:
pinMode(pinButton,INPUT);
}

void loop()
{
//Se guarda el estado del pin en la variable
buttonValue = digitalRead(pinButton);

if(button_old == 0 && buttonValue == 1)
{
count++; //Se le suma uno al valor de count
button_old = 1; //Se cambia el valor auxiliar para reconocer boton presionado
}

if(button_old == 1 && buttonValue == 0)
button_old = 0; //Se cambia valor auxiliar para reconocer boton no presionado

if(count > 7)
count = 0;

}

void mov(int movNumber){

switch(movNumber){

case 0:
servoFront.write(90);
servoLateral.write(90);
delay(1500);
servoFront.write(90);
servoLateral.write(45);
delay(1000);
servoFront.write(90);
servoLateral.write(135);
break;

case 1:
servoFront.write(90);
servoLateral.write(90);
delay(1500);
servoFront.write(45);
servoLateral.write(90);
delay(500);
servoFront.write(90);
servoLateral.write(90);
break;

case 2:
servoFront.write(90);
servoLateral.write(135);
break;

case 3:
servoFront.write(90);
servoLateral.write(90);
break;

case 4:
servoFront.write(45);
servoLateral.write(90);
break;

case 5:
servoFront.write(90);
servoLateral.write(90);
break;

case 6:
servoFront.write(90);
servoLateral.write(135);
break;

return;
}

}

El problema que el pulsador solo accionar un movimiento cada vez. Es decir, pulso una vez y mueve servoFront y servoLateral una vez, en vez de hacer todo el recorrido de case 0, cuando vuelvo a pulsar, hace el segundo movimiento de cada servo incluido en case 0.

¿Alguna sugerencia?

No veo llamadas a la funcion mov() en el loop .Deberias usar los tags adecuados para insertar codigo (lee las normas del foro si no sabes como).