//Variables de pines H y V del JoyStick
const int VERT = 0;
const int HORT = 2;
//Leds PWM del controlador
const int LED1 = 16;
const int LED2 = 17;
const int LED3 = 18;
const int LED4 = 19;
//Valores de valor H y V
float V_VERT;
float V_HORT;
//Coordenadas X Y del Joystick
float X;
float Y;
//Coordenadas X Y del Joystick
float ABS_X;
float ABS_Y;
//Valor del PWM
float PWM1;
float PWM2;
float PWM3;
float PWM4;
void LEC() {
V_VERT = analogRead(VERT);
V_HORT = analogRead(HORT);
X = map(V_VERT, 0, 4095, -100, 100);
Y = map(V_HORT, 0, 4095, -100, 100);
}
void setup() {
// put your setup code here, to run once:
pinMode(VERT, INPUT);
pinMode(HORT, INPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
Serial.begin(115200);
}
void loop() {
// Obtener lecturas de función
LEC();
delay(100);
//Condicional para valor absoluto en X
if (X < 0) {
ABS_X = X * -1;
PWM1 = map(ABS_X,-0, 100, 0, 255);
analogWrite(LED1, PWM1);
analogWrite(LED2, 0);
}
else {
PWM1 = map(X,-0, 100, 0, 255);
analogWrite(LED1, 0);
analogWrite(LED2, PWM1);
}
//Condicional para valor absoluto en Y
if (Y < 0) {
ABS_Y = Y * -1;
PWM2 = map(ABS_Y,-0, 100, 0, 255);
analogWrite(LED4, PWM2);
analogWrite(LED3, 0);
}
else {
PWM2 = map(Y,-0, 100, 0, 255);
analogWrite(LED4, 0);
analogWrite(LED3, PWM2);
}
delay(100);
}