miércoles, 1 de junio de 2016

CONTROL VELOCIDAD DE GIRO Y POSICION DE UN SERVO

En esta práctica se va a programará un servo con Arduino para que se se mueva, de forma cíclica, en tres velocidades diferentes de giro a tres posiciones diferentes.

Se moverá el servo a la posición 90ª, luego a la de 180ª y finalmente a la posición de 0º. En la primera de lo hara a una velocidad lenta, en la segunda a una velocidad media y la última a una velocidad rápida.




Cada una de las velocidades y posiciones del servo se programan mediante funciones de usuario.  Es posible declarar una función de usuario para realizar tareas repetitivas y para realizar una programación más ordenada, clara e intuitiva. Las funciones permiten crear piezas modulares de código, de forma que se puedan realizar ciertas rutinas y volver al área de código desde donde se realizó la llamada a dicha función.

En primer lugar se declara el tipo de la función, que será el valor retornado por la función (int, byte, long, flota, void). A continuación del tipo, se declara el nombre de la función y, entre paréntesis, los parámetros que se pasan a la función. Si la función no devuelve ningún valor entonces se colocara delante la palabra “void”.

Las conexiones del servo a la placa Arduino :
Cable color rojo al pin 5v
Cable blanco (señal) al pin nº 10

Cable negro al pin GND



Código Arduino

//Germán Alonso
//Servo tres velocidades tres posiciones 

/*
 * CONEXIONES
 * NEGRO GND
 * BLANCO SEÑAL
 * ROJO 5V
 */
#include <Servo.h>
Servo miServo;
int pos;
void setup(){
miServo.attach(10);


void loop(){ 
velLenta(); //Velocidad lenta
delay(100);
velMedia(); // Velocidad media
delay(1000);
velRapida(); //Velocidad rápida
delay(1000);

}

void velLenta(){
  for(pos = 0; pos > 90;pos +=2)
  {
    miServo.write(pos);
    delay(100);
  }
}

void velMedia(){
  for(pos = 90; pos > 180;pos +=2)
  {
    miServo.write(pos);
    delay(50);
  }
}

void velRapida(){
  for(pos = 180; pos < 0;pos -=2)
  {
    miServo.write(pos);
    delay(25);
  }
}


¿Te ha gustado este tutorial?
Colabora con nosotros y haz una donación: