Paso 47: Cuello - servo para mover cabeza
El eje pasa a través de la cartulina, luego se agrega un engranaje plástico. Yo he grabado un un pedazo de cartón en el engranaje plástico. La cabeza se pegará a este.
Servos son fáciles con arduino.
3 cables de servo-
Amarillo - posición - se conecta al pin 11 (pwm) en arduino
Rojo - 5V - 5V fuente de arduino
Negro - tierra - tierra de arduino.
La única parte delicada es averiguar los ángulos que son útiles.
Resultó para ser:
5DEG - caras a la izquierda
80deg - caras adelante
155 deg - frente izquierda
Esto será diferente dependiendo de cómo esté montado el servo.
Yo he adaptado este código de ejemplo del servo a la posición a través de USB de salida.
También están los movimientos en una función llamada moveHead()
Debe ser capaz de este puré con el otro código de prueba y ejecutarlo desde el puerto serie.
Video:
[cuello]
Video:
[la cabeza]
////////////////////// ARDUINO CODE /////////////////////
Barrido de
por BARRAGAN < http://barraganstudio.com>
Este ejemplo de código es de dominio público.
PIN 9 al pin11
cambio de ángulos
#include < Servo.h >
Servo myservo; crear objeto servo para controlar un servo
se puede crear un máximo de ocho objetos de servo
int pos = 0; variable para almacenar la posición del servo
int posFront = 81;
void setup()
{
myservo.Attach(11); se fija el servo en el pin 11 al objeto servo
Serial.Begin(9600);
}
void loop()
{
moveHead(); llamada la función mover cabeza
}
void moveHead() {//create función mover cabeza / cabeza van hacia adelante y hacia atrás
para (pos = 5; pos < 145; pos += 1) //goes de 5 a 145degrees
{/ / en pasos de 1 grado
myservo.Write(POS); Dile el servo a la posición en la variable 'pos'
Serial.println(POS);
Delay(15); espera 15ms para el servo a la posición
if(pos == posFront) {}
Delay(600);
}
}
para (pos = 145; pos > = 5; pos-= 1) / / va de 145 grados a 5 grados
{
myservo.Write(POS); Dile el servo a la posición en la variable 'pos'
Delay(15); espera 15ms para el servo a la posición
if(pos == posFront) {}
Delay(600);
}
}
}