jueves, 9 de junio de 2016

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.


0 comments:

Publicar un comentario