Si los servomotores son un elemento básico en electronica y especialmente en robótica esta claro que tenemos que aprender a utilizarlos con nuestro Pinguino.
Para controlar un servomotor necesitamos aplicarle un pulso con un ancho proporcional a la posición a la que queremos moverlo (o la velocidad a la que queremos que gire si se trata de un servo de rotación continua.) Para poder crear pulsos del ancho que queramos necesitamos uno de los pines PWM de pinguino. A parte de eso unicamente necesitamos alimentar el servo con 5V, por lo que el circuito será simplemente esto:
Para controlarlo contamos con una librería que nos simplificará mucho el trabajo, ya que unicamente tenemos que indicar el pin en que tenemos conectado el servo y la posición a la que queremos moverla.
uchar position=1;
int i;
void setup(void){
servo.attach(0);
}
void loop(void){
//En la variable posicion definimos el a donde queremos mover el servo
//Lo centramos
posicion = 90;
servo.write(0,position);
delay(100);
//Lo llevamos a un extremo:
posicion = 180;
servo.write(0,position);
delay(100);
//Lo movemos al extremo opuesto
posicion = 0;
servo.write(0,position);
delay(100);
}
Los delay unicamente son para darle tiempo al servo a llegara su posición
Ya podemos incluir servomotores en nuestros proyectos con Pinguino!

