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

N3Dohms_LOKAO2

de C2C00588 |  v1 |  0 |  4 |  2091 |  3 
Acesse sua conta para comentar e baixar este programa.

Compartilhado há 7 anos e 10 meses atrás
Alguns direitos reservados
// n3dohms_lokao2.c - Criado pelo studio UNO 2.3
// 6 June 2016 6:32:14 pm
 
#include <uno.h>
 
 
// Defines
#define tempo 10
 
// Declaracao das Variaveis
unsigned char AceX;
unsigned char AceY;
unsigned char AceZ;
unsigned char BtC;
unsigned char BtZ;
unsigned char JoyX;
unsigned char JoyY;
int eixo_x;
int eixo_y;
int motor_dir;
int motor_esq;
 
// Prototipos
void LeRF(void); 
void controlejoy(void); 
void ajusta_limites(void); 
void controle_motor(void); 
 
//Funcoes do Usuario
void LeRF(void) 
{
     JoyX = __ControllerGetJoystick_X(1);
     __delay(tempo);
     JoyY = __ControllerGetJoystick_Y(1);
     __delay(tempo);
     AceX = __ControllerGetAccelerometer_X(1);
     __delay(tempo);
     AceY = __ControllerGetAccelerometer_Y(1);
     __delay(tempo);
     AceZ = __ControllerGetAccelerometer_Z(1);
     __delay(tempo);
     BtC = __ControllerGetButton_C(1);
     __delay(tempo);
     BtZ = __ControllerGetButton_Z(1);
     __delay(tempo);
}
 
void controlejoy(void) 
{
     while(TRUE) {
         LeRF();
         if ((JoyX < 126)) {
             __motor_curso(__LEFT_ROTATE);
         }
         if ((JoyX > 130)) {
             __motor_curso(__RIGHT_ROTATE);
         }
         if ((JoyY < 126)) {
             __motor_curso(__BACKWARD);
         }
         if ((JoyY > 130)) {
             __motor_curso(__FORWARD);
         }
         if (((JoyX == 128) && (JoyY == 128))) {
             __motor_curso(__STOP);
         }
         if ((BtC == 1)) {
             __PWM1 = 180;
         }
         if ((BtZ == 1)) {
             __PWM1 = 40;
         }
     }
 
}
 
void ajusta_limites(void) 
{
     if ((motor_esq < -1023)) {
         motor_esq = -1023;
     }
     if ((motor_esq > 1023)) {
         motor_esq = 1023;
     }
     if ((motor_dir < -1023)) {
         motor_dir = -1023;
     }
     if ((motor_dir > 1023)) {
         motor_dir = 1023;
     }
 
}
 
void controle_motor(void) 
{
     __motor(1, motor_esq);
     __motor(2, motor_dir);
     if ((BtC == 1)) {
         __PWM1 = 180;
     }
     if ((BtZ == 1)) {
         __PWM1 = 40;
     }
 
}
 
//Funcao Principal
void main(void)
{
     __inicializa;
     bitset(__TRIS_PWM, __DIGITAL1);
     __PWM1 = 180;
     while(TRUE) {
         LeRF();
         eixo_x = ((JoyX - 128) * 8);
         eixo_y = ((JoyY - 128) * 8);
         motor_esq = (eixo_x + eixo_y);
         motor_dir = (eixo_y - eixo_x);
         ajusta_limites();
         controle_motor();
     }
 
     while(TRUE) { }
}

Descrição

Usando o controle RF LOKAO 2

4 Comentários

Download


Entre para Baixar

Favorito de


Ninguém marcou este projeto como favorito ainda.

Projetos de C2C00588


 0    1726   1 
 0    2045   2 
 1    2750   2 
 0    2297   2 
 0    2046   3