martes, 6 de septiembre de 2016

Servomotor

QUE ES?
Motor auxiliar para aumentar automáticamente la energía disponible cuando conviene, tiene la capacidad de ubicarse en cualquier posiciones. Es de usos educativos, los servomotores cuando so mas caros tienen mas características. Una circuitera de calidad así como los engranes asegura la durabilidad del servo, puede operar a 180 grados, viene con varias piezas. Se lo utiliza en un timón de una embarcación, porque es un mecanismo que da movimiento.
 Resultado de imagen para servomotor
Resultado de imagen para SERVOMOTOR
ESPECIFICACIONES

·         Velocidad: 0.19 seg/60° at 4.8V
·         Velocidad: 0.15 seg/60° at 6.0V
·         Torque: 42.00 oz-in at 4.8V
·         Torque: 51.00 oz-in at 6.0V
·         Largo:  1.60" (41mm)
·         Ancho:   0.80" (20mm)
·         Alto:  1.40" (37mm)
·         Peso:  1.5oz (43g)








CONEXIÓN DEL SERVO MOTOR AL ARDUINO

  • Cable amarillo del servo motor al PIN 9 del Arduino o a cualquiera de los PINs marcados como PWM (Pulse Width Modulation, o modulación por ancho de pulsos), es por este cable donde se enviará la señal de control al servo motor para que vaya de 0º a 180.
  • Cable negro del servo motor es el negativo puede ir conectado directamente al GND del Arduino o al protoboard donde tiene todas las GNDs referenciadas.
  • Cable rojo del servo motor es el positivo y va conectado al pin de 5V del arduino. EN caso de estar ocupado conéctelo al protoboard para tener más salidas de 5v.
Resultado de imagen para SERVOMOTOR con arduino

Para conecta el servomotor en el arduino, se tienen que sigue una series de códigos, a continuación le daremos un ejemplo:

#include <Servo.h>

Servo myservo;  //crea un referencia al servo motor

int pos = 0;    //posición inicial del servo
int positions[] = {0, 45, 90, 135, 180};  //posiciones (en grados) para moverse
int numPositions = 5; //cantidad de posiciones disponibles

void setup()
{
  //control servo motor via pin 9
  myservo.attach(9, 650, 2350);
  Serial.begin(9600);
}

void loop()
{
  int i = 0;
  //cambia de posiciones
  for(i = 0; i < numPositions; i++)
  {        
    pos = positions[i];

    //print debug output
    Serial.println("SETTING:");
    Serial.println(pos);

    //cambio de posicion del servo a una nueva
    myservo.write(pos);

    //espero dos segundos
    delay(2000);
  }

}