Clase 7 de fundamentos de Arduino:  Servo 

Introducción de la clase de servo para Arduino 

 

Servo o servomotor, es un tipo de motor engranado que sólo puede girar 180 grados. Se controla enviando pulsos eléctricos desde tu placa Uno. Estos pulsos le dicen al servo a qué posición debe moverse. Un servo tiene tres cables, el cable marrón es GND, el rojo es VCC, y el naranja es línea de señal.

 

Componentes 

{Product:2000}{Product:1436}{Product:76}

Principio Experimental 

El servo consta de carcasa, placa de circuito, motor sin núcleo, engranaje y detección de posición. Su principio de funcionamiento es el siguiente: la placa Uno placa envía la señal PWM al servomotor, y luego esta señal es procesada por el IC en la placa de circuitos para calcular el sentido de rotación para accionar el motor, y a continuación esta potencia motriz se transfiere al brazo oscilante mediante un engranaje reductor. Al mismo tiempo, el detector de posición devuelve la señal de localización para comprobar si se alcanza o no la posición establecida.

Procedimiento 

Paso 1: Conecta el circuito como se muestra en el diagrama siguiente:

 

El diagrama esquemático correspondiente es el siguiente:

 

Paso 2: Programa (consulta el código de ejemplo en el CD o  web oficial)

//

//

/************************************************/

#include <Servo.h>

/************************************************/

Servo myservo;//create servo object to control a servo

/************************************************/

void setup()

{

  myservo.attach(9);//attachs the servo on pin 9 to servo object

  myservo.write(0);//back to 0 degrees 

  delay(1000);//wait for a second

}

/*************************************************/

void loop()

{  

  myservo.write(15);//goes to 15 degrees 

  delay(1000);//wait for a second

  myservo.write(30);//goes to 30 degrees 

  delay(1000);//wait for a second.33

  myservo.write(45);//goes to 45 degrees 

  delay(1000);//wait for a second.33

  myservo.write(60);//goes to 60 degrees 

  delay(1000);//wait for a second.33

  myservo.write(75);//goes to 75 degrees 

  delay(1000);//wait for a second.33

  myservo.write(90);//goes to 90 degrees

  delay(1000);//wait for a second

  myservo.write(75);//back to 75 degrees 

  delay(1000);//wait for a second.33

  myservo.write(60);//back to 60 degrees

  delay(1000);//wait for a second.33

  myservo.write(45);//back to 45 degrees

  delay(1000);//wait for a second.33

  myservo.write(30);//back to 30 degrees

  delay(1000);//wait for a second.33

  myservo.write(15);//back to 15 degrees 

  delay(1000);//wait for a second

  myservo.write(0);//back to 0 degrees 

  delay(1000);//wait for a second

}

/**************************************************/

Paso 3: Compila el programa

Paso 4: Graba el programa en la placa Uno.

 

Ahora puedes ver que el servomotor gira 90 grados (girar una vez cada 15 grados). Y luego gire en dirección opuesta.