//Manipulacion de Joystick para Robot Ajedrecista
// 1-05-2024
//JEAL
//Declaracion de pines para Joystick
int Xpin = A4;
int Ypin = A5;
int boton = 2;
int botonval;
int ledar = 10;
int ledab = 7;
int ledder = 8;
int ledizq = 9;
int ledbot = 6;
int xval;
int yval;
void setup() {
pinMode (Xpin, INPUT);
pinMode (Ypin, INPUT);
pinMode (boton, INPUT);
digitalWrite (boton, HIGH);
pinMode (ledar, OUTPUT);
pinMode (ledab, OUTPUT);
pinMode (ledder, OUTPUT);
pinMode (ledizq, OUTPUT);
pinMode (ledbot, OUTPUT);
Serial.begin (9600);
}
void loop() {
xval = analogRead (Xpin);
yval = analogRead (Ypin);
botonval = digitalRead (boton);
Serial.print ("Val X= ");
Serial.print (xval);
Serial.print ("Val Y= ");
Serial.print (yval);
Serial.print ("Val Bot= ");
Serial.println (botonval);
delay (100);
//Condiciones del Joystick dependiendo de su posicion
//Condicion de Joystick Arriba
if (yval > 520){
digitalWrite (ledar, HIGH);
}
else {
digitalWrite (ledar, LOW);
}
//Condicion de Joystick Abajo
if (yval < 510){
digitalWrite (ledab, HIGH);
}
else {
digitalWrite (ledab, LOW);
}
//Condicion de Joystick Derecha
if (xval < 510){
digitalWrite (ledder, HIGH);
}
else {
digitalWrite (ledder, LOW);
}
//Condicion de Joystick Izquierda
if (xval > 520){
digitalWrite (ledizq, HIGH);
}
else {
digitalWrite (ledizq, LOW);
}
//Condicion de Boton de Joystick
if (botonval == 1){
digitalWrite (ledbot, LOW);
}
else {
digitalWrite (ledbot, HIGH);
}
//digitalWrite (ledab, LOW);
//digitalWrite (ledder, LOW);
//digitalWrite (ledizq, LOW);
//digitalWrite (ledbot, LOW);
}