En este articulo voy a ir incluyendo sketch para controlar el funcionamiento de un servomotor
Código para girar el servomotor de 0º a 180º (0-90º-180º)
// Incluímos la librería para poder controlar el servo
#include <Servo.h>
// Declaramos la variable para controlar el servo
Servo servoMotor;
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
servoMotor.attach(9);
}
void loop() {
// Desplazamos a la posición 0º
servoMotor.write(0);
// Esperamos 1 segundo
delay(1000);
// Desplazamos a la posición 90º
servoMotor.write(90);
// Esperamos 1 segundo
delay(1000);
// Desplazamos a la posición 180º
servoMotor.write(180);
// Esperamos 1 segundo
delay(1000);
}
Girando grado a grado el servomotor
Para ello incrementa el ángulo de 0 a 180º a razón de 1º cada 15ms, posteriormente realiza la operación contraria de 180º a 0º, para finalmente reiniciar el bucle.
#include <Servo.h>
Servo myservo; // crea el objeto servo
int pos = 0; // posición del servo
void setup() {
myservo.attach(9); // vincula el servo al pin digital 9
}
void loop() {
//varia la posición de 0 a 180, con esperas de 15ms
for (pos = 0; pos <= 180; pos += 1)
{
myservo.write(pos);
delay(15);
}
//varia la posicion de 0 a 180, con esperas de 15ms
for (pos = 180; pos <= 0; pos -= 1)
{
myservo.write(pos);
delay(15);
}
}
Movimiento del servomotor 0º-45º-90, movimiento pensado para colocar un sensor de ultrasonidos en el servomotor y así poder controlar el movimiento de un robot móvil
// Incluímos la librería para poder controlar el servo
#include <Servo.h>
// Declaramos la variable para controlar el servo
Servo servoMotor;
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
servoMotor.attach(9);
}
void loop() {
// Desplazamos a la posición 0º
servoMotor.write(00);
//Esperamos 1 segundo
delay(1000);
// Desplazamos a la posición 90º
servoMotor.write(45);
// Esperamos 1 segundo
delay(1000);
// Desplazamos a la posición 180º
servoMotor.write(90);
// Esperamos 1 segundo
delay(1000);
// Desplazamos a la posición 90º
servoMotor.write(45);
// Esperamos 1 segundo
delay(1000);
}
No hay comentarios:
Publicar un comentario