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

M3-desafio formas geometricas

de LucasVedovatto |  v1 |  0 |  0 |  2404 |  7 
Acesse sua conta para comentar e baixar este programa.

Compartilhado há 6 anos e 8 meses atrás
Alguns direitos reservados
// m3-desafio formas geometricas.c - Criado pelo studio UNO 2.3
// 6 November 2015 1:10:46 pm
 
#include <uno.h>
 
 
// Declaracao das Variaveis
unsigned char angulo;
int aux2;
unsigned char auxiliar;
unsigned int auxiliar2;
unsigned int curva;
int direita;
int esquerda;
float m1;
float m2;
unsigned char n_curva;
unsigned char raio;
float relacao;
 
// Prototipos
void display(void); 
void interface(void); 
void display_3(void); 
void Pcurva(void); 
void pare(void); 
void parametro1(void); 
void display_2(void); 
void circulo(void); 
void frente_reto(void); 
 
//Funcoes do Usuario
void display(void) 
{
     if (__UP_KEY) {
         __lcd_clear();
         auxiliar++;
         if ((auxiliar > 6)) {
             auxiliar = 3;
         }
         while(!!(__UP_KEY)) { __delay(10); }
     }
     if (__BOTTOM_KEY) {
         __lcd_clear();
         auxiliar--;
         if ((auxiliar < 3)) {
             auxiliar = 6;
         }
         while(!!(__BOTTOM_KEY)) { __delay(10); }
     }
     display_2();
}
 
void interface(void) 
{
     while(!!(__ENTER_KEY)) { __delay(10); }
     auxiliar = 3;
     __backlight(__ON);
     __lcd_goto(0x7f, 1);
     __lcd_puts("apos selecao");
     __lcd_goto(0xbf, 1);
     __lcd_puts("aperte enter");
     while(!__ENTER_KEY) { __delay(10); }
     while(!!(__ENTER_KEY)) { __delay(10); }
     __lcd_clear();
     while(!(__ENTER_KEY)) {
         display();
     }
     parametro1();
     while(!!(__ENTER_KEY)) { __delay(10); }
     __lcd_goto(0x7f, 1);
     __lcd_puts("informe tamanho");
     __lcd_goto(0xbf, 1);
     __lcd_puts("lado/raio");
     while(!__ENTER_KEY) { __delay(10); }
     while(!!(__ENTER_KEY)) { __delay(10); }
     __lcd_clear();
     auxiliar = 1;
     while(!(__ENTER_KEY)) {
         display_3();
     }
 
}
 
void display_3(void) 
{
     __lcd_goto(0x7f, 1);
     auxiliar2 = (auxiliar * 100);
     __lcd_puts("%u", auxiliar2);
     __lcd_goto(0x7f, 7);
     __lcd_puts("mm");
     if (__UP_KEY) {
         auxiliar++;
         while(!!(__UP_KEY)) { __delay(10); }
     }
     if (__BOTTOM_KEY) {
         auxiliar--;
         while(!!(__BOTTOM_KEY)) { __delay(10); }
     }
 
}
 
void Pcurva(void) 
{
     __SmartSensorCmd(1, 1, 9, 0);
     __SmartSensorCmd(1, 2, 9, 0);
     __motor_curso(__LEFT_TURN);
     while((__EncoderGetValue(2) < curva)) {
         while(!(__EncoderGetValue(2) >= curva)) { __delay(10); }
     }
 
}
 
void pare(void) 
{
     __motor_curso(__REVERSE);
     __delay(50);
     __motor_curso(__STOP);
}
 
void parametro1(void) 
{
     if ((auxiliar == 3)) {
         angulo = 60;
         n_curva = 3;
     }
     if ((auxiliar == 4)) {
         angulo = 90;
         n_curva = 4;
     }
     if ((auxiliar == 5)) {
         angulo = 120;
         n_curva = 5;
     }
     if ((auxiliar == 6)) {
         raio = 1;
     }
 
}
 
void display_2(void) 
{
     if ((auxiliar == 3)) {
         __lcd_goto(0xbf, 1);
         __lcd_puts("triangulo");
     }
     if ((auxiliar == 4)) {
         __lcd_goto(0xbf, 1);
         __lcd_puts("quadrado");
     }
     if ((auxiliar == 5)) {
         __lcd_goto(0xbf, 1);
         __lcd_puts("pentagono");
     }
     if ((auxiliar == 6)) {
         __lcd_goto(0xbf, 1);
         __lcd_puts("circulo");
     }
 
}
 
void circulo(void) 
{
     aux2 = (((2 * auxiliar2) * 3.1415) / 6.18);
     m1 = (((2 * (auxiliar2 + 145)) * 3.1415) / 6.18);
     m2 = (((2 * auxiliar2) * 3.1415) / 6.18);
     relacao = (m1 / m2);
     __SmartSensorCmd(1, 1, 9, 0);
     __SmartSensorCmd(1, 2, 9, 0);
     esquerda = __EncoderGetValue(1);
     direita = __EncoderGetValue(2);
     __motor(2, 1023);
     while((direita < aux2)) {
         while((direita < aux2)) {
             esquerda = __EncoderGetValue(1);
             direita = __EncoderGetValue(2);
             if ((direita < (esquerda * relacao))) {
                 __motor(1, 850);
             }
             else {
                 __motor(1, 1023);
             }
             __delay(10);
         }
         esquerda = __EncoderGetValue(1);
         direita = __EncoderGetValue(2);
         __delay(10);
     }
 
}
 
void frente_reto(void) 
{
     esquerda = __EncoderGetValue(1);
     direita = __EncoderGetValue(2);
     if ((esquerda == direita)) {
         __motor_curso(__FORWARD);
     }
     if ((esquerda < direita)) {
         __motor_curso(__RIGHT_TURN);
     }
     if ((esquerda > direita)) {
         __motor_curso(__LEFT_TURN);
     }
 
}
 
//Funcao Principal
void main(void)
{
     __inicializa;
     __SmartSensorCmd(1, 1, 8, 0);
     interface();
     if ((raio == 1)) {
         auxiliar = 6;
         display_2();
         circulo();
         pare();
         raio = 0;
     }
     else {
         aux2 = (auxiliar2 / 6.18);
         auxiliar = n_curva;
         display_2();
         for (int __i1 = 0; __i1 < n_curva; ++__i1) {
             __SmartSensorCmd(1, 1, 9, 0);
             __SmartSensorCmd(1, 2, 9, 0);
             while((__EncoderGetValue(2) < aux2)) {
                 while((__EncoderGetValue(2) < aux2)) {
                     frente_reto();
                     __delay(10);
                 }
             }
             curva = ((180 - angulo) / 2.62);
             Pcurva();
             __delay(10);
         }
         pare();
     }
 
     while(TRUE) { }
}

Descrição

Nenhum Comentário

Download


Entre para Baixar

Favorito de


Ninguém marcou este projeto como favorito ainda.

Projetos de LucasVedovatto


 0    3768   44 
 0    2094   11 
 0    2682   7 
 1    2152   15 
 1    3099   80