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

labirinto com rota conhecida

de rbaronio |  v1 |  1 |  0 |  2502 |  9 
Acesse sua conta para comentar e baixar este programa.

Compartilhado há 9 anos e 6 meses atrás
Alguns direitos reservados
// labirinto com rota conhecida.c - Criado pelo studio UNO 2.3
// 3 October 2014 12:51:49 pm
 
#include <uno.h>
 
 
// Declaracao das Variaveis
unsigned char cruzamento;
unsigned int direito;
unsigned int esquerdo;
unsigned char flag;
unsigned char lado;
unsigned int meio;
 
// Prototipos
void perde_dir(void); 
void incrementa(void); 
void perde_esq(void); 
 
//Funcoes do Usuario
void perde_dir(void) 
{
     __motor_curso(__RIGHT_TURN);
     __delay(150);
     __motor_curso(__RIGHT_ROTATE);
     __delay(300);
     while(!!(__SeguidorGetDigital(1, 4))) { __delay(10); }
}
 
void incrementa(void) 
{
     cruzamento++;
     __lcd_goto(0x7f, 1);
     __lcd_puts("%c", cruzamento);
     if ((cruzamento == 1)) {
         perde_dir();
     }
     if ((cruzamento == 2)) {
         perde_esq();
     }
     if ((cruzamento == 3)) {
         perde_dir();
     }
     if ((cruzamento == 4)) {
         perde_esq();
     }
     if ((cruzamento == 5)) {
         __motor_curso(__STOP);
         __beep();
         while(1) {}
     }
 
}
 
void perde_esq(void) 
{
     __motor_curso(__LEFT_TURN);
     __delay(150);
     __motor_curso(__LEFT_ROTATE);
     __delay(300);
     while(!!(__SeguidorGetDigital(1, 2))) { __delay(10); }
}
 
//Funcao Principal
void main(void)
{
     __inicializa;
     __SmartSensorCmd(2, 1, 14, 0);
     __backlight(__ON);
     cruzamento = 0;
     flag = 0;
     __lcd_goto(0x7f, 1);
     __lcd_puts("%c", cruzamento);
     while(TRUE) {
         esquerdo = __SeguidorGetDigital(1, 2);
         meio = __SeguidorGetDigital(1, 3);
         direito = __SeguidorGetDigital(1, 4);
         if (((esquerdo == 255) && ((meio == 0) && (direito == 255)))) {
             __motor_curso(__FORWARD);
         }
         if (((esquerdo == 0) && ((meio == 255) && (direito == 255)))) {
             __motor_curso(__LEFT_TURN);
             lado = 0;
         }
         if (((esquerdo == 255) && ((meio == 255) && (direito == 0)))) {
             __motor_curso(__RIGHT_TURN);
             lado = 1;
         }
         if (((esquerdo == 0) && ((meio == 0) && (direito == 255)))) {
             __motor(1, 950);
             __motor(2, 1023);
             lado = 0;
         }
         if (((esquerdo == 255) && ((meio == 0) && (direito == 0)))) {
             __motor(1, 1023);
             __motor(2, 950);
             lado = 1;
         }
         if (((esquerdo == 255) && ((meio == 255) && (direito == 255)))) {
             if ((lado == 0)) {
                 __motor_curso(__LEFT_ROTATE);
             }
             else {
                 __motor_curso(__RIGHT_ROTATE);
             }
         }
         if (((esquerdo == 255) || ((meio == 255) || (direito == 255)))) {
             flag = 0;
         }
         if (((esquerdo == 0) && ((meio == 0) && (direito == 0)))) {
             __motor_curso(__FORWARD);
             if ((flag == 0)) {
                 if ((!(__SeguidorGetDigital(1, 1)) || !(__SeguidorGetDigital(1, 5)))) {
                     incrementa();
                     flag = 1;
                 }
             }
         }
     }
 
     while(TRUE) { }
}

Descrição

Nenhum Comentário

Download


Entre para Baixar

Favorito de


Projetos de rbaronio


 0    3042   20 
 0    2507   21 
 1    2193   4 
 0    2554   21