Destacada_joystick_bitbloq2

Qué es un joystick

El joystick o palanca de mando es un componente que nos va a permitir controlar multitud de aparatos, puesto que es capaz de girar 360 grados y de devolver la posición en la que se encuentra.

Si le quitamos el capuchón veremos que está compuesto por dos potenciómetros y un pulsador. Con uno de los potenciómetros podremos medir la posición en el eje X y con el otro, el eje Y.

Entonces… ¿es digital o analógico?

Podremos utilizar nuestro joystick como componente digital (pulsador) y/o como componente analógico (potenciómetros), por lo tanto, es las dos cosas.

Para entender cómo conectarlo, observa que del joystick salen 3 cables de conexión:

  • Los 2 primeros, XVG y YVG, corresponden a los dos potenciómetros. Transmiten la señal analógica y nos indican la posición del eje X e Y respectivamente. Debemos conectarlos a cualquier pin analógico, por ejemplo al A1 y A2.

  • El último cable de conexión, KVG, corresponde al pulsador. Es el que transmite la señal digital y nos indica si estamos pulsando o no. Lo conectaremos a cualquier pin digital, por ejemplo al 5.

Una serie de datos importantes, los arrays

¿Recuerdas qué es una variable?, ¿ese valor que guardamos y que podemos recuperar cuando queramos?

Pues la variable joystick nos va a guardar el valor de la coordenada X, de la Y y el estado del pulsador… ¡tres valores! Se trata de un tipo de variable especial que se denomina array y que es capaz de almacenar varios valores en posiciones sucesivas.

Para entenderlo mejor, vamos a imaginar que nuestro array fuera un tren, en el cual cada vagón fuera un valor. Esos valores deben ser siempre del mismo tipo, por ejemplo número de espárragos. En el vagón 0 habría un determinado número de espárragos, en el 1 otro valor, en el 2 otro, etc.

Para conocer uno de los valores, bastará con escribir el nombre de la variable y la posición a leer. En nuestro caso el valor de X se guarda en la posición 0, el de Y en la 1 y el estado del pulsador en la 2.

Izquierda, derecha, arriba, abajo…

Vamos a programar que se enciendan distintos LED en función de la posición a la que movamos el joystick y que suene el zumbador si lo pulsamos. Para ello, colocamos cuatro LED en forma de cruz y un zumbador en el centro.

Lo primero que tendremos que hacer es declarar la variable joystick, que como ya sabemos, nos va a guardar los valores necesarios para saber la posición. A continuación, debemos programar las condiciones para que se encienda/apague cada LED. La primera parte de la programación, que corresponde con los LED izquierdo y derecho, es la siguiente:

Ejemplo

Puesto que el valor del potenciómetro va de 0 a 1023, programamos que el LED derecho se encienda cuando el valor sea mayor que 600, y el izquierdo cuando el valor sea menor que 400. De esta forma, si el potenciómetro está en su posición de reposo (entre 400 y 600), ningún LED se encenderá.

La segunda parte de la programación, que corresponde con los LED superior e inferior, es la siguiente:

Ejemplo

La tercera y última parte de la programación, con la que programamos que el zumbador emita un pitido cuando pulsamos el joystick, es la siguiente:

Ejemplo

Observa el siguiente vídeo para entender cómo funciona esta programación:

Aún hay más

A continuación te ofrecemos algunas ideas para que sigas practicando:

  • Crea un programa que muestre la posición del joystick por el puerto serie.

  • Elige un tono distinto para cada posición del joystick y programa un juego en que haya que repetir el orden.

  • Construye un vehículo que puedas controlar utilizando el joystick y los dos servos.

Un comentario

  1. Tengo una pregunta… Como se hace para encender un led que este arriba a la derecha, y otro a la izquierda, no se si me explico… que los leds fueran como estos puntitos: (la O es la placa)
    .
    · ·
    . O .
    . .
    ·

Los comentarios están cerrados.