Utilizar Shield Jostick en Arduino Uno




Les comparto el siguiente código para obtener los valores correspondientes  del Shield Joystick para Arduino, en mi caso lo probé para arduino uno.

Este código funciona para el modelo específico que ven arrba en la imagen, la hoja de datos para esa placa lo pueden revisar aquí http://wiki.iteadstudio.com/ITEAD_Joystick_shield

Además, lo pueden comprar en store.robodacta.mx, o en electronicaestudio.com aquí en méxico o mercadolibre.com.mx, en fin.

Bueno, el código lo que hace es obtener los valores del eje X y Y, además el valor de los botones, y los imprime en pantalla, lo que deseen hacer con ellos ya queda a su disposición:

/*
Sketch de ejempplo para Joystick Shield

Lee los botones y la posicion del joystick. El Shield Joystick tiene 6 botones.
La hoja de datos para el Shield Joystick utilizado para este ejemplo se puede
encontrar en:

http://wiki.iteadstudio.com/ITEAD_Joystick_shield

creado 8/Junio/2016
por Fernando Merino - LiNuXiToS
*/

//Creacion de variables por cada boton del Joystick para asignarlo al numero del pin
char botonA=7, botonB=6, botonG=9, botonF=8, botonE=3, botonD=4;

void setup(){
pinMode(botonA, INPUT); //Establecer el botonA como entrada
digitalWrite(botonA, HIGH); //Habilitar la resistencia en el boton 0

pinMode(botonB, INPUT);
digitalWrite(botonB, HIGH);

pinMode(botonG, INPUT);
digitalWrite(botonG, HIGH);

pinMode(botonF, INPUT);
digitalWrite(botonF, HIGH);

pinMode(botonE, INPUT);
digitalWrite(botonE, HIGH);

pinMode(botonD, INPUT);
digitalWrite(botonD, HIGH);

Serial.begin(9600);
}

void loop()
{
Serial.print(analogRead(0)); //Leer la posicion del joysticks en el eje X e imprimirlo por el puerto serial
Serial.print(",");
Serial.print(analogRead(1)); //Leer la posicion del joysticks en el eje Y e imprimirlo por el puerto serial
Serial.print(",");
Serial.print(digitalRead(botonA)); //Leer el valor del botn 0 y se imprime en el puero serial
Serial.print(digitalRead(botonB));
Serial.print(digitalRead(botonG));
Serial.print(digitalRead(botonF));
Serial.print(digitalRead(botonE));
Serial.println(digitalRead(botonD));

//Espera 100ms, luego vuelve a leer los pines
delay(100);
}

Este puede ser algo sencillo para los ya expertos en el tema, pero para aquellos que se inician en electrónica con arduino, esto puede ser algo complicado, así que esto va  para ellos.

Comentarios:

@