Control de posición Servo

Controla la posición de un RC (hobby) servomotor con su Arduino y un potenciómetro.

En este ejemplo se hace uso de la biblioteca de servo de Arduino.

Hardware necesario

Placa Arduino o Genuino
Servo motor
Potenciómetro de 10k ohm
Cable de conexión

Circuito

Los servomotores tienen tres cables: positivo, tierra, y señal. El cable de alimentación es típicamente de color rojo, y debe ser conectado al pin 5 V de la placa Arduino o Genuino. El cable de tierra es por lo general de color negro o marrón y debe estar conectado a un conector de tierra en la placa. El pinde señal es normalmente de color amarillo o naranja y debe ser conectado al pin 9 de la placa.

El potenciómetro se debe cablear de manera que sus dos terminales exteriores estén conectados al positivo (+ 5V) y a masa, y su terminal medio está conectado a la entrada analógica 0 en la placa.


Esquema


Código

// Control de un servo de posición mediante un potenciómetro
 // (resistencia variable).

 // por Michal Rinott
 // <http://people.interaction-ivrea.it/m.rinott>

 // modificado el 8 de Noviembre de 2013 por Scott Fitzgerald
 // http://www.arduino.cc/en/Tutorial/Knob

 #include <Servo.h>

 Servo myservo;  // crear el objeto servo para controlar un servo

 int potpin = 0;  // Pin analógico utilizado para conectar el potenciómetro
 int val;    // variable to// Variable para leer el valor del pin analógico

 void setup() {
   myservo.attach(9); // Conecta el servo al objeto servo con el pin 9
 }

 void loop() {
   val = analogRead(potpin);            // lee el valor del potenciometro (valor entre 0 y 1023)
   val = map(val, 0, 1023, 0, 180);     // escala este valor para usarlo con el servo (valor entre 0 y 180)
   myservo.write(val);                  // ajusta la posicion del servo segun el valor escalado
   delay(15);                


No hay comentarios:

Publicar un comentario