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 (1)

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

Compartilhado há 7 anos e 11 meses atrás
Alguns direitos reservados
// n3dohms (1).c - Criado pelo studio UNO 2.3
// 13 June 2016 7:29:50 pm
 
#include <uno.h>
 
 
// Defines
#define VariaGarra 5
#define tempo 10
 
// Declaracao das Variaveis
unsigned char AceX;
unsigned char AceY;
unsigned char AceZ;
unsigned char BtC;
unsigned char BtZ;
unsigned char Garra;
unsigned char JoyX;
unsigned char JoyY;
int Motor_D;
int Motor_E;
int eixo_x;
int eixo_y;
 
// Prototipos
void LeRF(void); 
void ControleJoy(void); 
void ControleRf(void); 
void AjusteLimites(void); 
void ControleMotores(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) 
{
     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 ControleRf(void) 
{
     eixo_x = ((JoyX - 128) * 8);
     eixo_y = ((JoyY - 128) * 8);
     Motor_E = (eixo_x + eixo_y);
     Motor_D = (eixo_y - eixo_x);
     AjusteLimites();
     ControleMotores();
}
 
void AjusteLimites(void) 
{
     if ((Motor_E < -1023)) {
         Motor_E = -1023;
     }
     if ((Motor_E > 1023)) {
         Motor_E = 1023;
     }
     if ((Motor_D < -1023)) {
         Motor_D = -1023;
     }
     if ((Motor_D > 1023)) {
         Motor_D = 1023;
     }
 
}
 
void ControleMotores(void) 
{
     __motor(1, Motor_E);
     __motor(2, Motor_D);
     if (((BtC == 1) && (Garra < 180))) {
         Garra += VariaGarra;
     }
     if (((BtZ == 1) && (Garra > 0))) {
         Garra -= VariaGarra;
     }
     __PWM1 = Garra;
}
 
//Funcao Principal
void main(void)
{
     __inicializa;
     __SmartSensorCmd(1, 1, 8, 0);
     bitset(__TRIS_PWM, __DIGITAL1);
     __PWM1 = 180;
     Garra = 180;
     while(TRUE) {
         LeRF();
         ControleRf();
     }
 
     while(TRUE) { }
}

Descrição

Usando o controle RF lokao pt3

Nenhum Comentário

Download


Entre para Baixar

Favorito de


Ninguém marcou este projeto como favorito ainda.

Projetos de C2C00588


 1    1960   2 
 0    1939   7 
 0    2343   0 
 0    2048   2 
 0    2081   1