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);
}




Comentarios
Publicar un comentario