Vous êtes sur la page 1sur 15

PROGRAMACIÓN DE SERVOS

CON ARDUINO

Extraido de la web de bricogeek http://blog.bricogeek.com/noticias/tutoriales/tutorial-control-de-servomotores/


Elementos para trabajar con
servomotores

Servomotor estandar Cable de conexiones

Placa board Potenciómetro


Los servomotores tienes tres cables: alimentación, tierra y señal.

- El cable de alimentación normalmente es rojo, y debe ser


conectado al pin 5V de la placa Arduino.

- El cable de tierra debe ser conectado al pin de tierra de la placa


Arduino.

- El pin de señal es típicamente amarillo o naranja y se conecta al


pin 9 de la placa Arduino.
Conexión de servo y Arduino
El potenciómetro es una resistencia variable
o reostato que utiliza también tres cables
Los dos pines exteriores estén conectado a
alimentación (+5V) y tierra,
El pin intermedio debe ir conectado a una
entrada analógica Ax en el Arduino (es un
sensor).
CÓDIGO PARA CONTROLAR EL
SERVO CON UN
POTENCIÓMETRO
#include <Servo.h>
Servo myservo;; // Crea un Objeto servo
int potpin = 5; // Pin analógico usado para conectar el potenciómetro
int val; // variable para leer el valor del pin analógico
void setup()
{
myservo.attach(9); // asocia el servo en pin 9 al objeto servo

}
void loop()
{
val = analogRead(potpin); // lee el valor del potenciómetro (valor entre 0 y 1023)
val = map(val, 0, 1023, 0, 179); // escala el valor para usarlo con el servo (valor entre 0 y 180)
myservo.write(val); // fija la posición del servo de acuerdo al valor escalado
delay(15); // espera a que el servo se posicione
}
CÓDIGO PARA GENERAR UN
BARRIDO CON UN SERVO
#include <Servo.h>
Servo myservo; // crea un objeto tipo servo para controlar el servo
int pos = 0; // variable para almacenar la posición del servo

void setup()
{
myservo.attach(9); // asocia el servo conectado en el pin 9 al objeto servo
}
void loop()
{
for(pos = 0; pos < 180; pos += 1) // va de 0 a 180 grados en pasos de 1 grado
{
myservo.write(pos); //dice al servo que se posicione en la posición indicada por la var 'pos'
delay(15); // espera 15 ms para dar tiempo al servo a llegar a la nueva posición
}
for(pos = 180; pos>=1; pos-=1) // va de 180 a 0 grados
{
myservo.write(pos); // dice al servo que se posicione en la posición indicada por la variable 'pos'
delay(15); // espera 15 ms para dar tiempo al servo a llegar a la nueva posición
}
}
INSTRUCCIONES PARA SERVOS
DE LA LIBRERÍA Servo.h
EMPLEADA EN ARDUINO
 Servo <nombre_del_servo>
Crea un objeto Servo. Se pone en la definición de variables, fuera de
void setup()
Ej: Servo myservo;

 <nombre_del_servo>.attach(<var o valor>)
Asocia un pin Arduino a un objeto Servo – le dice a Arduino que en ese
pin hay un servo. Se pone dentro de void setup()
Ej: myservo. attach(9);

 <nombre_del_servo>.write(<var o valor>)
le dice al servo que se ponga en la posición establecida entre
paréntesis, bien con una variable o directamente con un valor. Se
pone en void loop() o en cualquier definición de función.
Ej: myservo.write(posic);

Vous aimerez peut-être aussi