sábado, 22 de junio de 2013

Control de los sevomotores.

Información sobre los servos, funcionamiento y construcción: Servomotores.

Código para controlar los servomotores que usamos para apuntar: Aim.

#include <Servo.h>    //INCLUIMOS LA LIBRERIA SERVO

Servo x;   //DECLARAMOS EL OBJETO SERVO QUE MUEVE EL LANZA LLAMAS EN EL EJE X
Servo y;   //DECLARAMOS EL OBJETO SERVO QUE MUEVE EL LANZA LLAMAS EN EL EJE Y
int pos1;  //DECLARAMOS LA VARIABLE DE LA POSICION DEL SERVO X
int pos2;  //DECLARAMOS LA VARIABLE DE LA POSICION DEL SERVO Y
char c;

void setup(){
  Serial.begin(9600);
  x.attach(9);     //EL SERVO X ESTA CONECTADO AL PIN 9
  y.attach(10);    //EL SERVO Y ESTA CONECTADO AL PIN 10
  x.write(90);     //EL SERVO X TIENE UNA POSICION INICIAL A 90 GRADOS
  y.write(90);     //EL SERVO Y TIENE UNA POSICION INICIAL A 90 GRADOS
}

void loop(){
  while (Serial.available()) {
    if (Serial.available() >0) {
      c = Serial.read();
    }
  }
  switch(c){
  case 'F':                  //HACIA ARRIBA
    pos1++;
    if(pos1 > 100){          //MAXIMO PARA QUE EL LANZA LLAMAS NO GOLPEE CON EL TANQUE
      pos1=100;
    }
    y.write(pos1);
    break;
  case 'B':                  //HACIA ABAJO
    pos1--;
    if(pos1 < 60){           //MAXIMO PARA QUE EL LANZA LLAMAS NO QUEME EL TANQUE
      pos1=60;
    }
    y.write(pos1);
    break;
  case 'L':                  //IZQUIERDA
    pos2++;
    if(pos2>180){
      pos2=180;
    }
    x.write(pos2);
    break;
  case 'R':                  //DERECHA
    pos2--; 
    if(pos2<0){
      pos1=0;
    }
    x.write(pos2);
    break;
  } 
  delay(5); 
}

No hay comentarios:

Publicar un comentario