Paso 12: Girando hacia adelante
Una vuelta hacia delante se asemeja a otra manera normal de caminar hacia adelante, pero ahora el centro se cambian los puntos de ambos servos. El movimiento de una pierna delantera debe ajustarse también para evitar que se levanta demasiado.
1. crear una nueva variable que definirá el punto central de los servos durante una vuelta (el centro girar a la posición). Cuenta que son 9 grados del punto a la mitad del motor.
2. calcular la posición máxima a la que la pata delantera derecha se levantará deduciendo 18 grados desde la posición de giro de centro.
3. calcular la posición de la pata delantera izquierda de la misma manera como la pata delantera derecha, pero en lugar de agregar 18 grados a la posición central de la vuelta, añadir 36 (para equilibrar las patas delanteras).
4. calcular la posición de la pierna trasera derecha mediante la deducción de 15 grados desde la posición de giro central.
5. Añadir la misma distancia a la pata trasera izquierda.
6. la función de MoveTurnLeft() es similar a los paseos. Esta vez, las variables mencionadas sólo se utilizan para dar vuelta, y ambos servos están centradas a una posición diferente que andando hacia adelante.
7. Repita girando hacia adelante en el lazo y la demora para controlar la velocidad de nuestro caminar.
// walkerTurnForward.pde - Two servo walker. Turn forward. #include Servo frontServo; Servo rearServo; int centerTurnPos = 81; 1 int frontTurnRightUp = 63; 2 int frontTurnLeftUp = 117; 3 int backTurnRightForward = 66; 4 int backTurnLeftForward = 96;5 void moveTurnLeft() 6 { frontServo.write(frontTurnRightUp); rearServo.write(backTurnLeftForward); delay(125); frontServo.write(centerTurnPos); rearServo.write(centerTurnPos); delay(65); frontServo.write(frontTurnLeftUp); rearServo.write(backTurnRightForward); delay(125); frontServo.write(centerTurnPos); rearServo.write(centerTurnPos); delay(65); } void setup() { frontServo.attach(2); rearServo.attach(3); } void loop() { moveTurnLeft(); 7 delay(150); //time between each step taken, speed of walk }