PROYECTO Nº 2: Programar un joystick

Aprende a construir y programar un circuito para controlar la posición de un joystick analógico. Podrás moverlo en sus dos ejes e imprimir en la pantalla los valores de su posición cuando se encuentre en reposo, en máximo y mínimo de los ejes X e Y.

NIVEL DE DIFICULTAD: Principiante.

DURACIÓN DE LA ACTIVIDAD: 20 min.

MATERIALES:

  • 1 Joystick
  • 1 Placa Build&Code UNO
  • 1 Placa sensor Build&Code
  • 1 Cable USB – USB tipo B
  • Ordenador

¿Qué es un joystick analógico?

Un joystick es una palanca que gira 360º y permite controlar una gran cantidad de aparatos. Se utiliza en muchos dispositivos, sobre todo en mandos de videoconsolas. También es muy útil para controlar, de forma sencilla, robots u otros proyectos.

Internamente un joystick está formado por un sistema de balancín con dos ejes ortogonales acoplados a dos potenciómetros. Dichos potenciómetros realizan la medición de la posición de la palanca en ambos ejes.

A la vez, uno de los ejes está apoyado en un pulsador, lo que permite detectar cuando presionas la palanca hacia abajo.

Por lo tanto, un joystick facilita una señal analógica para la posición de cada eje, más una señal digital cuando detecta una pulsación.

joystick-analogico-actividad-2

CONEXIONES:

  1. Conecta el joystick a la placa sensor Build&Code, la cual debe de estar conectada a la placa controladora Build&Code UNO, tal como se indica en el paso 14 del manual de montaje del Arm Robot.
  2.  Para alimentar de energía el joystick, conecta la salida Vcc (cable rojo en la     imagen), al pin V del puerto analógico A0 y la salida GND al pin G del puerto analógico de  la placa sensor Build&Code.
  3. Conecta la salida del eje X (en el joystick nombrada VRx) al pin S del puerto  analógico A0 (cable amarillo en la imagen), y conecta la salida del eje Y (en el joystick nombrada VRy) al pin S del puerto analógico A1, de la placa sensor Build&Code (cable verde en la imagen).
  4. Para una correcta conexión consulta en el apartado Conexiones, subapartado Conectar los joysticks del manual de montaje del Arm Robot.

joystick-analogico-actividad-2-colores

joystick-analogico-actividad-2-conexiones

CÓDIGO DE PROGRAMACIÓN

Puedes realizar esta actividad utilizando el software Arduino y otros software de programación por bloques compatibles. A continuación encontrarás el código de programación necesario.

Código Arduino

  1. Descarga el software Arduino y realiza el proceso de instalación.
    1.2 Ejecuta el programa Arduino.
    1.3 Configura el programa para grabar programas en la placa controladora Build&Code UNO. Encontrarás las instrucciones para hacerlo en la guía de Primeros Pasos del Arm Robot.
  2. Copia el siguiente programa en el programa Arduino y grábalo en la placa controladora Build&Code UNO.
    #include <Servo.h>
    
    int valorX = 0; // VARIABLE DE LECTURA DEL EJE X
    int valorY = 0; // VARIABLE DE LECTURA DEL EJE Y
    int pinJX = A0; // EJE X CONECTADO AL PIN ANALOGICO A0
    int pinJY = A1; // EJE Y COENCTADO AL PIN ANALOGIC0 A1
    
    void setup() {
    Serial.begin (9600); // ACTIVAR COMUNICACIÓN POR PUERTO SERIE
    }
    
    void loop() {
    valorX = analogRead ( pinJX); // LECTURA DEL PUERTO ANALOG. A0 DEL EJE X
    valorY = analogRead ( pinJY); // LECTURA DEL PUERTO ANALOG. A1 DEL EJE Y
    
    Serial.print ("X: ");
    Serial.print (valorX); // MOSTRAR POR PANTALLA LOS VALORES DEL EJE X DE 0 A 1023
    Serial.print("\t");
    Serial.print ("Y: ");
    Serial.println (valorY); // MOSTRAR POR PANTALLA LOS VALORES DEL EJE Y DE 0 A 1023
    }
    
  3. Haz clic en la lupa y observa los distintos valores que aparecen al mover el joystick en los dos ejes que lo componen.
    proyecto-2-arm-robot-1

    Si mueves el joystick hacia la derecha (right), izquierda (left), arriba (up) y abajo (down), verás cómo los valores de X e Y van cambiando de 0 a 1023.Observa este ejemplo de cómo se muestran los valores:

Código para software de programación por bloques compatible

  1. Descarga el software y realiza el proceso de instalación.
    1.2 Ejecuta el software de programación por bloques compatible.
    1.3 Configura el programa para grabar código en la placa controladora Build&Code UNO. Encontrarás las instrucciones para hacerlo en la guía de Primeros Pasos del Arm Robot.
  2. Abre el programa y, una vez en él, copia el siguiente código. Usa la siguiente imagen como guía:

Para visualizar los valores en el globo de texto del panda es necesario configurar la placa controladora de una forma distinta. Para hacerlo, sigue los pasos a continuación:

  1. Dirígete al apartado Placas y selecciona Arduino UNO.
  2. Ve al apartado Conectar y selecciona Puerto Serie. Luego, selecciona el puerto COM al cual está conectada la placa controladora Build&Code UNO.
  3. En el mismo apartado Conectar, selecciona Actualizar Firmware y espera que se haya finalizado la carga del programa de comunicación.

Una vez realizado el programa, clica en la bandera verde y observa cómo el panda cambia sus valores en función de los movimientos que haces con el joystick.

RESULTADO DEL EJERCICIO

Como resultado del ejercicio, al mover el joystick hacia la derecha, izquierda, arriba y abajo, verás cómo los valores de X e Y van cambiando de 0 a 1023.

Este es el primer paso para entender cómo programar el joystick y qué tipo de datos nos están llegando, para más adelante programar el Arm Robot de manera que realice los movimientos deseados.

5 0

0