segunda-feira, 24 de outubro de 2011

Codigo de Exemplo do Controle dos Motores


// O arquivo abaixo (Motor.h) deve esta na mesma pasta desse arquivo (TesteMotor.pde)
#include "Motor.h"


// Funcao setup()
void setup()
{
  //Seta os pinos dos motores para saida
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(6, OUTPUT);
}


int potenciaSaidaMotor1 = 70;      // Em porcentual
int potenciaSaidaMotor2 = 60;      // Em porcentual
boolean direcaoMotor1 = 0;         // 0 = Anti horario
boolean direcaoMotor2 = 1;         // 1 = horario


// Atencao: todos os pinos abaixo devem ser PWM, para controle da velocidade do(s) motor(es)
int pinHorarioMotor1 = 11;
int pinAntiHorarioMotor1 = 10;
int pinHorarioMotor2 = 9;
int pinAntiHorarioMotor2 = 6;
  
// Exemplo de acionamento dos motores (1 - Motor da Direita e 2 - Motor da Esquerda)
void loop()
{
  int static motor1 = 0;          // Potencia inicial/atual do motor1
  int static motor2 = 0;          // Potencia inicial/atual do motor2
   
  /*
    O exemplo abaixo movimenta o motor direito no sentido Anti horario com potencia de 70% e
      movimenta o motor esquerdo no sentido horario com potencia de 60%.
    O sentido anti horário no motor da direita, efetua o movimento para frente e o sentido horario
      no motor da esquerda, tambem efetua o movimento para a frente. Como as velocidades finais 
      são ligeiramente diferentes (70% e 60% da potência dos motores), o robo ira efetuar uma 
      curva em parabola para a esquerda.
  */  
  
  // Funcao para acionar o motor 1 - direito
  motor1 = motor(direcaoMotor1, potenciaSaidaMotor1, pinHorarioMotor1, pinAntiHorarioMotor1, motor1);
  // Funcao para acionar o motor 2 - esquerdo
  motor2 = motor(direcaoMotor2, potenciaSaidaMotor2, pinHorarioMotor2, pinAntiHorarioMotor2, motor2);
  delay(2000);
}

Nenhum comentário:

Postar um comentário