Juego interactivo con joystick analógico y LEDs en Arduino
Componentes y materiales
- 1 × Arduino UNO
- 1 × Joystick analógico genérico (2 ejes + pulsador)
- 1 × Protoboard
- Cables jumper
- 1 × LED (indicador pulsador)
- 4 × LEDs direccionales (izquierda, derecha, arriba, abajo)
- 1 × Cable USB
Sobre el proyecto
El joystick tiene dos potenciómetros (ejes X e Y) y un pulsador. El Arduino lee los valores analógicos (0–1023) en A0 (X) y A1 (Y). Según la posición, enciende el LED correspondiente: izquierda, derecha, arriba, abajo. Al pulsar el botón del joystick, se enciende un LED central.
Código
#define joyX A0
#define joyY A1
const int btnPin = 2; // Pulsador joystick (con pull-up interno)
const int ledBtn = 7; // LED pulsador
const int ledLeft = 10; // LED izquierda
const int ledRight = 9; // LED derecha
const int ledUp = 8; // LED arriba
const int ledDown = 11; // LED abajo
void setup() {
pinMode(btnPin, INPUT_PULLUP);
pinMode(ledBtn, OUTPUT);
pinMode(ledLeft, OUTPUT);
pinMode(ledRight, OUTPUT);
pinMode(ledUp, OUTPUT);
pinMode(ledDown, OUTPUT);
Serial.begin(9600);
}
void loop() {
int xValue = analogRead(joyX);
int yValue = analogRead(joyY);
int btnState = digitalRead(btnPin);
Serial.print(xValue); Serial.print("\t"); Serial.println(yValue);
Serial.println(btnState);
// Umbrales aproximados (ajustar según tu joystick)
const int TH_LOW = 100;
const int TH_HIGH = 923;
const int TH_MID = 512;
// Izquierda (X bajo, Y centro)
digitalWrite(ledLeft, (xValue < TH_LOW && yValue > TH_LOW && yValue < TH_HIGH));
// Derecha (X alto, Y centro)
digitalWrite(ledRight, (xValue > TH_HIGH && yValue > TH_LOW && yValue < TH_HIGH));
// Arriba (Y alto, X centro)
digitalWrite(ledUp, (yValue > TH_HIGH && xValue > TH_LOW && xValue < TH_HIGH));
// Abajo (Y bajo, X centro)
digitalWrite(ledDown, (yValue < TH_LOW && xValue > TH_LOW && xValue < TH_HIGH));
// Pulsador (activo en LOW por pull-up)
digitalWrite(ledBtn, btnState == LOW);
delay(100);
}
Esquema de conexiones
Joystick: VCC→5V, GND→GND, VRx→A0, VRy→A1, SW→pin 2. LEDs con resistencias 220 Ω a pines indicados.
Proceso de manufactura
- Ajedrez: de sus orígenes antiguos a la fabricación moderna — una visión experta
- Pinball: Historia, Diseño y Fabricación de un Juego Arcade Clásico
- El balón de fútbol: De juegos antiguos a innovación moderna
- La Evolución y Artesanía del Fútbol Americano: De Juegos Ancestrales a Estándares NFL Modernos
- Construye un Juego Giroscópico en Tiempo Real con Arduino Nano y Sensor MPU-6050
- Construye tu Juego "UFO Attack" con Arduino UNO y Pantalla MAX7219
- Construye tu Propio Juego de Ruleta de 37 LEDs con Arduino Nano
- Reloj 3D RGB Arduclock – Bluetooth, LED NeoPixel y RTC
- Monitor de Salud Fluvial: Sistema de Calidad de Agua con Arduino
- Construye un Iron Man animado con Arduino: componentes, sensores y guía paso a paso
- Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth