Usando la Shield Control Remoto PS2 con Arduino Uno

Usando la Shield Control Remoto PS2 con Arduino Uno

0 comments

Este tutorial te guiará paso a paso para controlar un proyecto con Arduino Uno utilizando un mando de PlayStation 2 y la shield Control Remoto PS2. Aprenderás cómo conectar todo correctamente, instalar la librería necesaria y entender el funcionamiento del código.

PS2 Shield

Materiales necesarios

  • Arduino Uno
  • Shield Control Remoto PS2
  • Control de PlayStation 2 (DualShock)
  • Cables Dupont (si no usas la shield directamente)
  • PC con el IDE de Arduino instalado

Instalación de la librería

Para comunicarte con el mando PS2 necesitas la librería PS2X_lib. Puedes descargarla desde el repositorio oficial:

🔗 Descargar desde GitHub (repositorio oficial)

Si el enlace anterior no funciona, puedes usar este enlace alternativo:

🔽 Descargar archivo ZIP alternativo

Para instalar la librería en el IDE de Arduino:

  1. Abre el IDE de Arduino.
  2. Ve a Programa > Incluir Librería > Añadir biblioteca .ZIP...
  3. Selecciona el archivo ZIP descargado.

Conexión de la Shield

La Shield PS2 se conecta directamente sobre el Arduino Uno. Sin embargo, si necesitas realizar conexiones manuales, este es el diagrama correspondiente:

Diagrama de conexiones PS2 con Arduino Uno

Correspondencia de pines

Pin del conector PS2 Señal Pin en Arduino
1 Data 12
2 Command 11
3 Vibración No conectado
4 GND GND
5 3.3V 3.3
6 Attention 10
7 Clock 13
8 Sin uso
9 ACK

Importante: Conecta y enciende el mando antes de encender el Arduino.

Código de ejemplo

Copia y pega el siguiente código en un nuevo sketch y subelo a tu Arduino Uno, no olvides seleccionar el puerto COM correspondiente.

El código completo queda de la siguiente forma:

¿Qué hace el código?

Este código permite:

  • Detectar si el mando está conectado y configurado correctamente.
  • Reconocer el tipo de control (DualShock o GuitarHero).
  • Leer los botones presionados, soltados o mantenidos.
  • Leer los valores de los joysticks (sticks analógicos).
  • Activar la vibración del mando usando el botón X.

Abre el monitor serial a 57600 baudios y prueba presionando cada botón de tu control. Deberías ver un mensaje indicando qué botón fue presionado.

Además, si mantienes presionado L1 o R1, verás en el monitor serial los valores de los sticks analógicos, ideal para controlar velocidad, dirección o variables proporcionales.

✅ Si tu control lo soporta, también puedes obtener el nivel de presión de algunos botones, como las flechas direccionales, usando por ejemplo:

Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC);

Esto te permite usar botones como si fueran entradas analógicas adicionales.

Personalización

El código es flexible y puedes adaptarlo fácilmente para encender LEDs, mover motores, accionar servos o ejecutar funciones con cualquier botón del mando.

  • Start: iniciar un proceso
  • Select: pausar o detener
  • Joysticks: controlar movimiento o dirección
  • X: activar vibración o salida PWM

Consejos

  • Asegúrate de que el control esté conectado y encendido antes de energizar el Arduino.
  • Algunos controles genéricos pueden no soportar funciones avanzadas como vibración o lectura analógica.
  • Usa Serial.println() para depurar o mostrar el estado en el monitor serial.

¿Y ahora qué?

¡Ya estás listo para integrar tu mando PS2 en tus proyectos Arduino! Puedes usarlo para controlar un robot, un brazo mecánico, un coche RC o simplemente experimentar con entradas múltiples.

Comentarios 

No comments

Dejar un comentario
Tu correo no será publicado, los campos requeridos estan marcados con *