Diferència entre revisions de la pàgina «Joystick»
(Es crea la pàgina amb «Descripción general El joystick analógico es un elemento de control que su forma es redonda y utiliza potenciómetros para leer continuamente el estado del eje (de...».) |
|||
Línia 1: | Línia 1: | ||
− | Descripción general | + | '''Descripción general''' |
− | El joystick analógico es un elemento de control que su forma es redonda y utiliza potenciómetros para leer continuamente el estado del eje (derecha, izquierda, arriba y abajo) y además tiene un botón de acción (que es similar al R3 del joystick de un mando de la PlayStation).Los joysticks analógicos como el que estamos describiendo son los más nuevos ya que también existen los digitales. | + | El '''joystick''' analógico es un elemento de control que su forma es redonda y utiliza potenciómetros para leer continuamente el estado del eje (derecha, izquierda, arriba y abajo) y además tiene un botón de acción (que es similar al R3 del joystick de un mando de la PlayStation).Los joysticks analógicos como el que estamos describiendo son los más nuevos ya que también existen los digitales. |
− | + | Tiene 5 pines de conexión: <br> | |
− | 1.- El de tierra | + | 1.- El de tierra <br> |
− | 2.- El que hace que el joystick reciba corriente. | + | 2.- El que hace que el joystick reciba corriente. <br> |
− | 3.- Pin del eje X. | + | 3.- Pin del eje X. <br> |
− | 4.- Pin del eje Y. | + | 4.- Pin del eje Y. <br> |
− | 5.- Pin del botón accionador | + | 5.- Pin del botón accionador <br> |
− | ¿Cómo conectar el joystick al arduino? | + | ¿Cómo conectar el joystick al arduino? <br> |
− | • El pin de tierra lo conectamos al GND del arduino. | + | • El pin de tierra lo conectamos al GND del arduino. <br> |
− | • El de corriente a alguno de 5V del arduino. | + | • El de corriente a alguno de 5V del arduino. <br> |
− | • El de la X se pone en un pin analógico del arduino (cualquiera analógico sirve). | + | • El de la X se pone en un pin analógico del arduino (cualquiera analógico sirve). <br> |
− | • El de la Y a cualquier pin analógico del arduino. | + | • El de la Y a cualquier pin analógico del arduino. <br> |
− | • El del botón accionador a cualquier pin digital del arduino. | + | • El del botón accionador a cualquier pin digital del arduino. <br> |
− | Código ejemplo | + | Código ejemplo: <br> |
− | Mapeamos el joystick de tal forma que cuando suba nos diga “up” cuando baje nos diga “down” que cuando vaya a la izquierda nos indique “right”, cuando vaya hacia la derecha que nos indique “left”. | + | Mapeamos el joystick de tal forma que cuando suba nos diga “up” cuando baje nos diga “down” que cuando vaya a la izquierda nos indique “right”, cuando vaya hacia la derecha que nos indique “left”.<br> |
− | ¿Cómo se mapea? | + | ¿Cómo se mapea?<br> |
− | Evidentemente previamente, configuramos que X y Y sean los pines de entrada del joystick para poder trabajar más cómodo. Y que cuando oprimes hacia dentro el joystick obtenga una variable llamada “botón”. | + | Evidentemente previamente, configuramos que X y Y sean los pines de entrada del joystick para poder trabajar más cómodo. Y que cuando oprimes hacia dentro el joystick obtenga una variable llamada “botón”. <br> |
− | void loop () { | + | void loop () { <br> |
− | dir = ""; //Iniciamos la variable dir a 0 | + | dir = ""; //Iniciamos la variable dir a 0 <br> |
− | x = analogread(0); //Indicamos que X se rellenara con el valor del pin 0. | + | x = analogread(0); //Indicamos que X se rellenara con el valor del pin 0. <br> |
− | y = analogRead(1); // Indicamos que Y se rellenara con el valor del pin 1. | + | y = analogRead(1); // Indicamos que Y se rellenara con el valor del pin 1. <br> |
− | boton = digitalRead(13); //El boton se rellenara con el valor del pin 13. | + | boton = digitalRead(13); //El boton se rellenara con el valor del pin 13. <br> |
− | dir=direccion(x,y); | + | dir=direccion(x,y);<br> |
− | } | + | }<br> |
− | Observas las coordenadas que te devuelve el joystic tanto de X como de Y cuando lo mueves y a partir de ahí empiezas a programar, nosotros, lo hemos hecho de la siguiente manera, le indicas que si x && y son mayores o menores que Z haga N. Indicamos que nos devuelva “dir” que antes la variable “dir” la hemos igualada a la función de dirección(x,y); | + | Observas las coordenadas que te devuelve el joystic tanto de X como de Y cuando lo mueves y a partir de ahí empiezas a programar, nosotros, lo hemos hecho de la siguiente manera, le indicas que si x && y son mayores o menores que Z haga N. Indicamos que nos devuelva “dir” que antes la variable “dir” la hemos igualada a la función de dirección(x,y); <br> |
− | String direccion (int x, int y){ | + | String direccion (int x, int y){ <br> |
− | if(y>=0 && y<=539 && x>=80 && x<=1023) dir = "up"; | + | if(y>=0 && y<=539 && x>=80 && x<=1023) dir = "up"; <br> |
− | else if (y>=543 && y<=1023 && x>=0 && x<=1023) dir="down"; | + | else if (y>=543 && y<=1023 && x>=0 && x<=1023) dir="down"; <br> |
− | else if (x>=503 && x<=1023 && y>=72 && y<=844) dir="rigiht"; | + | else if (x>=503 && x<=1023 && y>=72 && y<=844) dir="rigiht"; <br> |
− | else dir = "listening"; | + | else dir = "listening"; <br> |
− | return dir; | + | return dir; <br> |
− | } | + | } <br> |
− | |||
− | |||
− |
Revisió del 07:52, 19 maig 2016
Descripción general
El joystick analógico es un elemento de control que su forma es redonda y utiliza potenciómetros para leer continuamente el estado del eje (derecha, izquierda, arriba y abajo) y además tiene un botón de acción (que es similar al R3 del joystick de un mando de la PlayStation).Los joysticks analógicos como el que estamos describiendo son los más nuevos ya que también existen los digitales.
Tiene 5 pines de conexión:
1.- El de tierra
2.- El que hace que el joystick reciba corriente.
3.- Pin del eje X.
4.- Pin del eje Y.
5.- Pin del botón accionador
¿Cómo conectar el joystick al arduino?
• El pin de tierra lo conectamos al GND del arduino.
• El de corriente a alguno de 5V del arduino.
• El de la X se pone en un pin analógico del arduino (cualquiera analógico sirve).
• El de la Y a cualquier pin analógico del arduino.
• El del botón accionador a cualquier pin digital del arduino.
Código ejemplo:
Mapeamos el joystick de tal forma que cuando suba nos diga “up” cuando baje nos diga “down” que cuando vaya a la izquierda nos indique “right”, cuando vaya hacia la derecha que nos indique “left”.
¿Cómo se mapea?
Evidentemente previamente, configuramos que X y Y sean los pines de entrada del joystick para poder trabajar más cómodo. Y que cuando oprimes hacia dentro el joystick obtenga una variable llamada “botón”.
void loop () {
dir = ""; //Iniciamos la variable dir a 0
x = analogread(0); //Indicamos que X se rellenara con el valor del pin 0.
y = analogRead(1); // Indicamos que Y se rellenara con el valor del pin 1.
boton = digitalRead(13); //El boton se rellenara con el valor del pin 13.
dir=direccion(x,y);
}
Observas las coordenadas que te devuelve el joystic tanto de X como de Y cuando lo mueves y a partir de ahí empiezas a programar, nosotros, lo hemos hecho de la siguiente manera, le indicas que si x && y son mayores o menores que Z haga N. Indicamos que nos devuelva “dir” que antes la variable “dir” la hemos igualada a la función de dirección(x,y);
String direccion (int x, int y){
if(y>=0 && y<=539 && x>=80 && x<=1023) dir = "up";
else if (y>=543 && y<=1023 && x>=0 && x<=1023) dir="down";
else if (x>=503 && x<=1023 && y>=72 && y<=844) dir="rigiht";
else dir = "listening";
return dir;
}