// pantilt e acelerometros por controle.c - Criado pelo studio
// UNO 2.3
// 2 August 2016 1:02:10 pm
#include <uno.h>
// Declaracao das Variaveis
int AcelerometroX;
int AcelerometroY;
int Motor1;
int Motor2;
unsigned char Servo2;
unsigned char Servo3;
// Prototipos
void PanTilt(void);
void Motores(void);
//Funcoes do Usuario
void PanTilt(void)
{
Servo2 = (__ControllerGetJoystick_X(1) / 1.42);
Servo3 = (__ControllerGetJoystick_Y(1) / 1.42);
__PWM2 = Servo2;
__PWM3 = Servo3;
}
void Motores(void)
{
AcelerometroX = ((__ControllerGetAccelerometer_X(1) - 128) * 20.43);
AcelerometroY = ((__ControllerGetAccelerometer_Y(1) - 128) * 20.43);
Motor1 = (AcelerometroY + AcelerometroX);
Motor2 = (AcelerometroY - AcelerometroX);
if ((Motor1 > 1023)) {
Motor1 = 1023;
}
if ((Motor1 < -1023)) {
Motor1 = -1023;
}
if ((Motor2 > 1023)) {
Motor2 = 1023;
}
if ((Motor2 < -1023)) {
Motor2 = -1023;
}
__motor(1, Motor1);
__motor(2, Motor2);
}
//Funcao Principal
void main(void)
{
__inicializa;
bitset(__TRIS_PWM, __DIGITAL2);
bitset(__TRIS_PWM, __DIGITAL3);
__backlight(__ON);
while(TRUE) {
Motores();
PanTilt();
}
while(TRUE) { }
}