Dificultad: media

Un joystick suele estar formado por dos potenciómetros a 90º que transforman el movimiento en X e Y del mando en una señal eléctrica proporcional a su posición y que además suele incluir un botón.

Así, suelen tener 5 pines: X, Y, botón y 5V más GND.

Vamos a montar un circuito con un servo y usaremos uno de los ejes del joystick para posicionar un servo, y si pulsamos el botón encendemos un LED.

El pin correspondiente al botón suele venir marcado como SW de Switch.

Lista de componentes:

  • Arduino Uno
  • Modulo de joystick
  • Servo motor
  • Led color a elección
  • Resistencia de 330ohms
  • Cables de conexión
  • Protoboard

Imágenes ilustrativas de componentes:

PASO 1 : conexión de componentes:

Paso 2 programacion:

A continuación se muestra el código necesario para manejar el servomotor y el led con el joystick:

#include <Servo.h>          // Incluir la librería Servo
Servo servo1;               // Crear un objeto tipo Servo llamado servo1
int angulo = 0 ;
int Eje_X = A1 ;
int Eje_Y = A2 ;
int boton = 4  , LED = 12 ;
void setup()
    {
        servo1.attach(6) ;  // Conectar servo1 al pin 6
        pinMode( boton, INPUT_PULLUP) ;
    }
void loop()
    {
        angulo  = map( analogRead(A1), 0, 1024, 0, 180);
        servo1.write(angulo);
        if ( ! digitalRead(boton))
              digitalWrite(LED, HIGH);
        else
              digitalWrite(LED, LOW);
        delay(250) ;
           }

Aprieta el boton subir para enviar el codigo al Arduino.

Si “cargado exitosamente” aparece al fondo de la Ventana, significa que el codigo se cargo exitosamente en la placa.

En este punto podremos mover el joytick y obtener una respuesta en el servomotor. Tambien al apretar el boton del joystick debería encender el Led.