Nos informe porque este programa é inadequado. Por favor, não envie várias vezes.

Razão
Mensagem

Enviar    Cancelar

  • Use o bom senso
  • Seja educado. Trate os outros como você gostaria de ser tratado
  • Você só pode usar até 3.000 caracteres por comentário
  • Você não pode comentar o mesmo programa dentro do período de 60 segundos
  • Você não pode postar o mesmo comentário em vários programas.
  • Existe um limite de 100 comentários por usuário no período de 24 horas.

Fechar

SantoAntonio2

de C2C00864 |  v3 |  0 |  0 |  1868 |  0 
Acesse sua conta para comentar e baixar este programa.

Compartilhado há 7 anos e 10 meses atrás - Última modificação em 13/06/2016
Alguns direitos reservados
// santoantonio2.c - Criado pelo studio UNO 2.3
// 13 June 2016 1:05:45 pm
 
#include <uno.h>
 
 
// Declaracao das Variaveis
unsigned int Angulo;
unsigned int Distancia;
unsigned int EncDir;
unsigned int EncEsq;
unsigned int Pulsos;
unsigned int Velocidade;
 
// Prototipos
void LeEncoders(void); 
void freio(void); 
void retinho(void); 
void CurvaEsquerda(void); 
void zeraEnc(void); 
void CurvaDireita(void); 
void EmFrente(void); 
 
//Funcoes do Usuario
void LeEncoders(void) 
{
     EncEsq = __EncoderGetValue(1);
     EncDir = __EncoderGetValue(2);
     __delay(5);
}
 
void freio(void) 
{
     __motor_curso(__REVERSE);
     __delay(30);
     __motor_curso(__STOP);
}
 
void retinho(void) 
{
     if ((EncEsq > EncDir)) {
         __motor(1, 0);
         __motor(2, Velocidade);
     }
     if ((EncEsq < EncDir)) {
         __motor(1, Velocidade);
         __motor(2, 0);
     }
     if ((EncEsq == EncDir)) {
         __motor(1, Velocidade);
         __motor(2, Velocidade);
     }
 
}
 
void CurvaEsquerda(void) 
{
     zeraEnc();
     // NP=Angulo/ 4,9
     Pulsos = (Angulo / 4.9);
     __motor(1, (Velocidade * -1));
     __motor(2, Velocidade);
     while((__EncoderGetValue(2) < Pulsos)) {
         while(!(__EncoderGetValue(2) >= Pulsos)) { __delay(10); }
         __delay(5);
     }
     freio();
}
 
void zeraEnc(void) 
{
     __SmartSensorCmd(1, 1, 9, 0);
     __SmartSensorCmd(1, 2, 9, 0);
     EncEsq = 0;
     EncDir = 0;
}
 
void CurvaDireita(void) 
{
     zeraEnc();
     Pulsos = (Angulo / 4.9);
     __motor(1, Velocidade);
     __motor(2, (Velocidade * -1));
     while((__EncoderGetValue(1) < Pulsos)) {
         while(!(__EncoderGetValue(1) >= Pulsos)) { __delay(10); }
         __delay(5);
     }
     freio();
}
 
void EmFrente(void) 
{
     zeraEnc();
     // NP=Disância/ 0,618.em centímetros
     Pulsos = (Distancia / 0.618);
     while(((EncEsq < Pulsos) || (EncDir < Pulsos))) {
         LeEncoders();
         retinho();
     }
 
}
 
//Funcao Principal
void main(void)
{
     __inicializa;
     __SmartSensorCmd(1, 1, 8, 0);
     Velocidade = 1023;
     Distancia = 44;
     EmFrente();
     Velocidade = 1023;
     Angulo = 45;
     CurvaEsquerda();
     Velocidade = 700;
     Distancia = 44;
     EmFrente();
     Velocidade = 1023;
     Angulo = 45;
     CurvaDireita();
     Velocidade = 800;
     Distancia = 88;
     EmFrente();
     Velocidade = 700;
     Angulo = 180;
     CurvaEsquerda();
     while(TRUE) { }
}

Descrição

Nenhum Comentário

Download


Entre para Baixar

Favorito de


Ninguém marcou este projeto como favorito ainda.

Projetos de C2C00864


 0    1756   3 
 0    1894   3 
 0    1943   2 
 0    2491   0 
 0    1760   2