Para construirlo necesitamos un servo por eje . En la foto aparece uno de más debido a que pensaba en añadir una garra móvil al extremo que al final no he montado.
El servo de 40 gramos será la base del montaje y los otros dos, de 9 gramos estarán alojados en el brazo.
Para el brazo he usado una tira de contrachapado de 3mm y de unos 8mm de ancho (restos de madera). Los brazos de servo van atornillados.
Foto del conjunto:
Como se puede ver, el servo base está sujeto por un gato.
CÓDIGO:
El código está redactado en ENERGIA y es sencillo.
Se importa la librería Servo, se definen los pines de señal y se va dando órdenes a cada servo.
El código básico es:
#include <Servo.h>
Servo G; //servo Giro Base
Servo BI; //servo Brazo Inferior
Servo BS; /servo Brazo Superior
void setup()
{
G.attach(8); //establece el pin 8 como salida de señal para el servo G
BI.attach(6); // "" ""
BS.attach(7); // "" ""
}
void loop()
{
//_____________Posición al "azar"
G.write(170);
delay(100); //Los delay son para suavizar y armonizar los movimientos
G.write(90);
BI.write(150);
BS.write(120);
delay(500);
//_____________Posición recogido
delay(1000);
G.write(26);
delay(500);
BI.write(8);
delay(500);
BS.write(0);
delay(500);
}
La forma de ordenar al servo una posición es NombreServo.write(Posición), siendo Posición un número del 0 a 180, el abanico de giro del servo.
Vídeo con el programa que cambia de sitio una caja:
(Acabo de darme cuenta de que he perdido todo el código que sale en el vídeo :S )
Evidentemente el programa es algo más complicado que el de arriba, sin embargo no tiene ninguna instrucción esencial nueva. Son todo combinaciones de write's y delay's. Con unas horas se le va cogiendo el truco.
Y eso es todo por hoy :)