Servos

Servomotores

Sabemos que hay dos tipos de servo motores:
rotación estándar y rotación continua.
  •  El estándar puede girar 180 grados y puede ser controlado como el motor paso a paso a una posición precisa. 
  • El de rotación continua puede, al igual que el motor DC, rotar en ambas direcciones, no tan rápido; pero puedes controlar tanto la velocidad como la dirección.
3 Programas sencillos, para ver como se comportan los 2 tipos de servos.

Material usado:

x1  Servo SM-S4303R
x1  Servo 3001HB
x1  arduino uno













Código_0: //arduino C++  "Sweep"

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}

Código_1:

// Incluímos la librería para poder controlar el servo
#include <Servo.h>

// Declaramos la variable para controlar el servo
Servo myServo;

void setup() {
  // Iniciamos el monitor serie para mostrar el resultado
  Serial.begin(9600);

  // Iniciamos el servo para que empiece a trabajar con el pin 9
  myServo.attach(9);

  // Inicializamos al ángulo 0 el servomotor
  myServo.write(0);
}

void loop () { 
  myServo.attach (9); // Adjuntar y aplicar el poder
  myServo.write (0); // Position servo
  delay(25); // Permitir tiempo de tránsito
  myServo.detach (); // Separar y eliminar la energía
  delay (250); // Espera x tiempo segundos
  myServo.attach (9); // Vuelva a conectar y aplique el poder
  myServo.write (180); // Mueve el servo al otro extremo
  delay (25); // Permitir tiempo de tránsito
  myServo.detach (); // Separar de nuevo
}

Vídeo rotación continua:





Código_2:

// Incluímos la librería para poder controlar el servo
#include <Servo.h>

// Declaramos la variable para controlar el servo
Servo myServo;

void setup() {
  // Iniciamos el monitor serie para mostrar el resultado
  Serial.begin(9600);

  // Iniciamos el servo para que empiece a trabajar con el pin 9
  myServo.attach(9,0,180);// pin 9 , min, max

  // Inicializamos al ángulo 0 el servomotor
  myServo.write(0);
}

void loop () { 
  myServo.attach (9,0,10); 

  myServo.write (0); // Position servo
  delay(115); // Permitir tiempo de tránsito

   myServo.detach (); delay(2000);

}




Vídeo servo estándar:





Comentarios

Entradas populares