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

modulo3V3

de Euro_Lucas |  v1 |  0 |  1 |  1974 |  5 
Acesse sua conta para comentar e baixar este programa.

Compartilhado há 8 anos e 6 meses atrás
Alguns direitos reservados
// modulo3v3.c - Criado pelo studio UNO 2.3
// 22 October 2015 1:08:53 pm
 
#include <uno.h>
 
 
// Defines
#define branco 255
#define linha 0
 
// Declaracao das Variaveis
unsigned char ace_x;
unsigned char ace_y;
unsigned char ace_z;
int enc_dir;
int enc_esq;
unsigned char ir_1;
unsigned char ir_2;
unsigned char ir_3;
unsigned char ir_4;
unsigned char ir_5;
unsigned char joy_c;
unsigned char joy_x;
unsigned char joy_y;
unsigned char joy_z;
 
// Prototipos
void seguelinha(void); 
void le_segui(void); 
void le_enconder(void); 
void le_joy(void); 
void inicia(void); 
void frente(void); 
void freio(void); 
void gira_esq_90(void); 
 
//Funcoes do Usuario
void seguelinha(void) 
{
     if (((ir_2 == linha) && ((ir_3 == linha) && (ir_4 == linha)))) {
         freio();
     }
     if (((ir_2 == branco) && ((ir_3 == linha) && (ir_4 == branco)))) {
         __motor_curso(__FORWARD);
     }
     if (((ir_2 == linha) && ((ir_3 == linha) && (ir_4 == branco)))) {
         __motor(1, 900);
         __motor(2, 1023);
     }
     if (((ir_2 == branco) && ((ir_3 == linha) && (ir_4 == linha)))) {
         __motor(1, 1023);
         __motor(2, 900);
     }
     if (((ir_2 == branco) && ((ir_3 == branco) && (ir_4 == linha)))) {
         __motor(1, 1023);
         __motor(2, 700);
     }
     if (((ir_2 == linha) && ((ir_3 == branco) && (ir_4 == branco)))) {
         __motor(1, 700);
         __motor(2, 1023);
     }
 
}
 
void le_segui(void) 
{
     ir_1 = __SeguidorGetDigital(1, 1);
     __delay(5);
     ir_2 = __SeguidorGetDigital(1, 2);
     __delay(5);
     ir_3 = __SeguidorGetDigital(1, 3);
     __delay(5);
     ir_4 = __SeguidorGetDigital(1, 4);
     __delay(5);
     ir_5 = __SeguidorGetDigital(1, 5);
     __delay(5);
}
 
void le_enconder(void) 
{
     enc_esq = __EncoderGetValue(1);
     __delay(10);
     enc_dir = __EncoderGetValue(2);
     __delay(10);
}
 
void le_joy(void) 
{
     ace_x = __ControllerGetAccelerometer_X(1);
     __delay(10);
     ace_y = __ControllerGetAccelerometer_Y(1);
     __delay(10);
     ace_z = __ControllerGetAccelerometer_Z(1);
     __delay(10);
     joy_x = __ControllerGetJoystick_X(1);
     __delay(10);
     joy_y = __ControllerGetJoystick_Y(1);
     __delay(10);
     joy_c = __ControllerGetButton_C(1);
     __delay(10);
     joy_z = __ControllerGetButton_Z(1);
     __delay(10);
     freio();
}
 
void inicia(void) 
{
     enc_esq = 0;
     enc_dir = 0;
     __SmartSensorCmd(2, 1, 14, 0);
     __SmartSensorCmd(1, 1, 8, 0);
     __SmartSensorCmd(1, 1, 9, 0);
     __SmartSensorCmd(1, 2, 9, 0);
}
 
void frente(void) 
{
 
}
 
void freio(void) 
{
     __motor_curso(__REVERSE);
     __delay(10);
     __motor_curso(__STOP);
}
 
void gira_esq_90(void) 
{
     __motor_curso(__LEFT_TURN);
     while((enc_dir < 34)) {
         le_enconder();
         while(!(enc_dir > 34)) { __delay(10); }
     }
     freio();
}
 
//Funcao Principal
void main(void)
{
     __inicializa;
     inicia();
     while(TRUE) {
         le_segui();
         seguelinha();
     }
 
     while(TRUE) { }
}

Descrição

Este programa e a correção do programa modulo3V2 que tinha alguns erros

1 Comentário

Download


Entre para Baixar

Favorito de


Ninguém marcou este projeto como favorito ainda.

Projetos de Euro_Lucas


 2    1969   4 
 1    2018   2