ARD-GPAD Gamepad Joystick + Pulsadores Shield Arduino

[ARD-GPAD] ARD-GPAD Gamepad Joystick + Pulsadores Shield Arduino

https://electrofranko.com/web/image/product.template/2082/image_1920?unique=3d864a2

S/ 42.00 42.0 PEN S/ 42.00

S/ 42.00

Not Available For Sale

Esta combinación no existe.

Términos y condiciones
Envío: 2-3 días laborales


Referencia Interna: ARD-GPAD

Tarjeta de Expansión (Shield) Joystick V1.A para Arduino

Placa tipo Gamepad que integra un joystick PS2, 6 botones de acción y puertos dedicados para conectividad inalámbrica y pantallas LCD.

El Joystick Shield V1.A transforma instantáneamente cualquier placa Arduino UNO o Mega en un control de mando completo (tipo consola de videojuegos). Este módulo agrupa estratégicamente un joystick analógico bidireccional (con pulsador central) y un set de cuatro botones grandes más dos auxiliares. Su diseño no se limita al control físico; incorpora zócalos de expansión directos para montar transceptores de radiofrecuencia (NRF24L01), módulos Bluetooth y pantallas LCD (Nokia 5110), convirtiéndolo en la herramienta definitiva para manejar brazos robóticos, drones caseros y carritos a control remoto.

Especificaciones Técnicas

Parámetro ElectrónicoRango / Valor Oficial
Voltaje Lógico de Operación3.3 V o 5 V DC (Seleccionable mediante interruptor integrado)
Interfaz del Joystick2 Salidas Analógicas (Ejes X, Y) + 1 Salida Digital (Botón Z)
Pulsadores de Acción4 Botones grandes (Colores) + 2 Botones pequeños auxiliares
Zócalo InalámbricoConector dedicado de 2x4 pines para módulo RF NRF24L01
Zócalo de PantallaConector en línea compatible con display LCD Nokia 5110
Interfaces AdicionalesCabezales expuestos para módulos Bluetooth (UART) e I2C
Parámetro Mecánico / EstructuraRango / Valor Oficial
Compatibilidad de Placa baseFactor de forma Arduino UNO R3, Leonardo y Mega 2560
Tipo de Joystick AnalógicoPotenciómetros duales de 10KΩ (estilo PS2) con muelle de retorno
Configuración de BotonesLectura Digital a Tierra (Requieren PULL-UP activo por software)
Selector de Voltaje VCCInterruptor deslizable (Slide switch) para protección de periféricos
Dimensiones del MóduloAproximadamente 87 mm x 54 mm x 30 mm (incluyendo el capuchón)
Pines Internos UtilizadosA0-A1 (Para Joystick), D2-D7 (Para todos los botones)

Ventajas Clave del Joystick Shield V1.A

Diseño Todo en Uno (Plug & Play): Olvídese de cruzar decenas de cables en una protoboard. Al ser un Shield, simplemente se apila sobre el Arduino, garantizando conexiones 100% sólidas e inmediatas para todos los ejes y botones al mismo tiempo.

Ecosistema Inalámbrico Integrado: A diferencia de armar un control desde cero, esta placa ya incluye las huellas y cabezales necesarios para insertar de forma directa el transceptor de largo alcance NRF24L01 o un módulo Bluetooth, facilitando la creación de telecomandos RC.

Gestión Segura de Voltaje: El módulo incluye un interruptor físico (Switch) que permite alternar la lógica de toda la placa entre 5V y 3.3V. Esto es vital, ya que insertar una pantalla Nokia 5110 o un módulo NRF24L01 a 5V los quemaría de inmediato; el switch los protege con un solo movimiento.

El Shield encaja perfectamente alineado sobre los pines del Arduino UNO. Tenga en cuenta que al usarlo, los pines A0, A1 y del D2 al D7 quedarán ocupados exclusivamente por el hardware de la placa, dejando el resto libres para sus adaptaciones.

Galería Dinámica de Conexiones de Hardware

Esquema 1: Alineación correcta del Joystick Shield sobre la placa base Arduino
Esquema 3: Ubicación y orientación del módulo inalámbrico de radiofrecuencia
Esquema 2: Mapa de correspondencia entre los botones físicos y los pines de Arduino
Esquema 4: Inserción de la pantalla gráfica en los cabezales frontales del Shield
Guía Esencial de Conexión y Montaje de Hardware: Antes de insertar cualquier accesorio, revise la posición del **interruptor selector de voltaje (3.3V / 5V)**. Si va a utilizar la placa únicamente para leer el joystick y los botones, déjelo en 5V. Sin embargo, **es estrictamente obligatorio deslizar el interruptor a 3.3V antes de conectar una pantalla Nokia 5110 o el módulo NRF24L01**, ya que estos componentes operan a bajo voltaje y se dañarán permanentemente si reciben 5V en sus líneas lógicas. Los botones se configuran en el código haciendo uso de la resistencia pull-up interna del procesador.
🎓 Lógica de Lectura Analógica e Inversión Digital (Pull-up)

Para leer los datos de este control correctamente, debes dominar dos conceptos clave en tu programación:

  • Los Ejes Analógicos (X, Y): El joystick es esencialmente dos potenciómetros (resistencias variables) de 10KΩ. Al leerlos con analogRead(), el Arduino te devolverá un número entre 0 y 1023. Cuando el joystick está suelto (en el centro), ambos ejes leerán un valor aproximado de 500 a 515. Hacia un extremo leerá 0 y hacia el opuesto 1023.
  • Las Resistencias PULL-UP: Los botones de este Shield no envían 5V al ser presionados. Están conectados directamente a Tierra (GND). Por ello, en el setup() debes configurar los pines con INPUT_PULLUP. Esto mantiene el pin en HIGH por defecto, y cuando presionas el botón, el valor cae a LOW.
  • Mapeo de las Teclas: Físicamente, la placa rutea el Eje X al pin A0 y el Eje Y al pin A1. Los botones grandes (A, B, C, D) corresponden a los pines D2, D3, D4 y D5. El botón de los ejes (presionar el joystick hacia abajo) está en D8 y los pequeños auxiliares en D6 y D7.
// Código Básico para lectura y mapeo del Joystick Shield V1.A // Muestra las posiciones y qué botón se está presionando. #include <Arduino.h> // Asignación de Pines Analógicos para el Joystick const int PIN_EJE_X = A0; const int PIN_EJE_Y = A1; const int PIN_BOTON_JOY = 8; // Botón integrado al presionar la palanca // Asignación de Pines Digitales para los botones de acción const int PIN_BTN_ARRIBA = 2; // A const int PIN_BTN_DERECHA = 3; // B const int PIN_BTN_ABAJO = 4; // C const int PIN_BTN_IZQ = 5; // D const int PIN_BTN_E = 6; // Botón auxiliar 1 const int PIN_BTN_F = 7; // Botón auxiliar 2 void setup() { Serial.begin(115200); // Configuración de los botones con PULL-UP interno obligatorio pinMode(PIN_BOTON_JOY, INPUT_PULLUP); pinMode(PIN_BTN_ARRIBA, INPUT_PULLUP); pinMode(PIN_BTN_DERECHA, INPUT_PULLUP); pinMode(PIN_BTN_ABAJO, INPUT_PULLUP); pinMode(PIN_BTN_IZQ, INPUT_PULLUP); pinMode(PIN_BTN_E, INPUT_PULLUP); pinMode(PIN_BTN_F, INPUT_PULLUP); Serial.println("--- Joystick Shield V1.A Inicializado ---"); Serial.println("Mueva la palanca o presione un boton..."); } void loop() { // 1. Lectura de los potenciómetros (Valores de 0 a 1023) int valorX = analogRead(PIN_EJE_X); int valorY = analogRead(PIN_EJE_Y); // Imprimir coordenadas Serial.print("Eje X: "); Serial.print(valorX); Serial.print(" | Eje Y: "); Serial.print(valorY); Serial.print(" | Accion: "); // 2. Lectura de Botones (Recuerda: LOW = Presionado) if (digitalRead(PIN_BTN_ARRIBA) == LOW) { Serial.print("[Botón ARRIBA] "); } if (digitalRead(PIN_BTN_ABAJO) == LOW) { Serial.print("[Botón ABAJO] "); } if (digitalRead(PIN_BTN_IZQ) == LOW) { Serial.print("[Botón IZQ] "); } if (digitalRead(PIN_BTN_DERECHA) == LOW) { Serial.print("[Botón DERECHA] "); } if (digitalRead(PIN_BOTON_JOY) == LOW) { Serial.print("[Click Joystick] "); } if (digitalRead(PIN_BTN_E) == LOW) { Serial.print("[Botón E] "); } if (digitalRead(PIN_BTN_F) == LOW) { Serial.print("[Botón F] "); } Serial.println(); // Salto de línea delay(150); // Pausa corta para no saturar el monitor serial }
1. ¿Por qué al leer los ejes X e Y me marca alrededor de 512 aunque no esté tocando el joystick?
Es el funcionamiento correcto del hardware. El joystick está construido con potenciómetros que dividen el voltaje. Cuando la palanca está en el centro, el voltaje devuelto es la mitad exacta de 5V (o 3.3V). Dado que el convertidor analógico del Arduino mide de 0 a 1023, la mitad del recorrido equivale a un rango entre 500 y 520. Si lee cerca de 0 es porque movió la palanca a un extremo, y si lee 1023 es el extremo opuesto.
2. Mis botones no hacen nada o marcan pulsaciones aleatorias. ¿El Shield está dañado?
El Shield probablemente esté perfecto. Este error ocurre si en su código programó los pines usando pinMode(pin, INPUT);. Al carecer de resistencias físicas en la placa, las señales quedan "flotando" y captando ruido electromagnético. Debe cambiar estrictamente su código a pinMode(pin, INPUT_PULLUP); para activar las resistencias internas del Arduino y estabilizar las lecturas en HIGH cuando no se tocan.
3. ¿Puedo usar este Joystick Shield en un Arduino Mega 2560?
**Sí, es totalmente compatible.** El factor de forma de los pines es el estándar R3, por lo que el Shield encajará perfectamente en el inicio de la placa Mega 2560. Los pines seguirán siendo exactamente los mismos (A0, A1, D2 al D8), dejándole el resto de los extensos puertos del Mega totalmente libres para expandir aún más su proyecto.
4. ¿El módulo incluye la pantalla y el transmisor inalámbrico que menciona?
**No.** El Joystick Shield se vende como una placa de expansión base (Host). Cuenta con todos los conectores eléctricos, cabezales y circuitería lista para usar, pero los periféricos adicionales como el display LCD Nokia 5110, el módulo de radiofrecuencia NRF24L01 o el transceptor Bluetooth HC-05/HC-06 se adquieren por separado según las necesidades puntuales de su proyecto.