Connectar un joystick analògic a l'Arduino
El meu joystick és un dels components del següent pack: http://dx.com/p/arduno-37-in-1-sensor-module-kit-black-142834 (podeu veure tots els components del pack catalogats aquí).El text de la placa diu "Keyes SJoys" i, segons el llistat de components, es diu "XY-axis joystick module KY-023".
El seu funcionament és molt senzill (fins i tot més del que m'esperava). Té 4 pins:
- GND: directe d el'Arduino
- +5V: directe de l'Arduino
- VRx i VRy: que retornen el valor de l'eix X i Y. S'han de connectar als Analog IN (per exemple a A0 i A1)
- SW: que en teoria serveix per veure si s'ha premut en mode botó. De moment no he aconseguit capturar-ho.
Vista dels connectors
He trobat un tutorial de com connectar-lo aquí: http://jannehuo.wordpress.com/2013/02/07/arduino-joystick-2/. Només cal llegir els valors de VRx i VRy amb la funció "analogRead" com ja havíem fet amb el potenciòmetre. Aquí un codi d'exemple que treu per terminal els dos valors separats per coma.
Codi d'exemple
int joy1 = 0;//pin analogic de les Xint joy2 = 1;//pin analógic de les Y
int val1 = 0;//valor X
int val2 = 0;//valor Y
void setup() {
Serial.begin(9600);
}
void loop() {
//llegim els valors
val1 = analogRead(joy1);
delay(100); //recomanen posar-ho
val2 = analogRead(joy2);
//imprimim els valors
Serial.print(val1);
Serial.print(",");
Serial.print(val2);
Serial.println();
delay(1);
}
Com queda la connexió
2 comentaris:
If you put SW in A2 then analog read it, you get 0 when the button is pressed.
Publica un comentari a l'entrada