segunda-feira, 24 de outubro de 2011

Código do Arquivo: Motor.h

Este código deve ser "colado" no bloco de notas, e salvo com o nome "Motor" e a extensão ".h" ao invés de ".txt". Lembre-se de salvar o arquivo na pasta do arquivo de código do teste de motores.

Código Abaixo:


 /* *******************************************************************************************
  Funcao para conversao do valor de potencia do motor de decimal para porcentual
********************************************************************************************/
int calcularPotencia(int potencia)
{
  return ( (float)potencia / 100 * 255 ) ;
}


/* *********************************************************************************************
  Funcao de controle do motor
*********************************************************************************************
*/
int motor(boolean sentidoHorario, int potenciaSaida, int pinoHorario, int pinoAntiHorario, int potenciaAtual)
/*
  sentidoHorario: 1 = Horario, 0 = Anti Horario
  potencia: Potência a ser colocado o motor, vai de 0(%) a 100(%)
  pinoHorario: pino digital (com PWM) para rotacao sentido horario do motor
  pinoAntiHorario: pino digital (com PWM) para rotacao sentido horario do motor
*/
{
  potenciaSaida = calcularPotencia(potenciaSaida);


  int x = 0, pino = 0;


  if( potenciaAtual <= potenciaSaida)
  {
    for(x=potenciaAtual+1; x<=potenciaSaida; x++)
    {
      analogWrite( (pino = (sentidoHorario?pinoHorario:pinoAntiHorario) ) , x);
    }
  }
  else
  {
    for(x=potenciaAtual-1; x>=potenciaSaida; x--)
    {
      analogWrite( (pino = (sentidoHorario?pinoHorario:pinoAntiHorario) ) , x);
    }
  }
  return (x);
}

Nenhum comentário:

Postar um comentário