Jeu interactif joystick + LEDs avec Arduino
Matériel
- 1 × Arduino UNO
- 1 × Joystick analogique (2 axes + bouton poussoir)
- 5 × LEDs + résistances 220 Ω
- Breadboard, fils, câble USB
Câblage
| Joystick | Arduino |
|---|---|
| VRx (X) | A0 |
| VRy (Y) | A1 |
| SW (bouton) | D2 (INPUT_PULLUP) |
| VCC | 5 V |
| GND | GND |
LEDs sur D7 (bouton), D8 (bas), D9 (droite), D10 (gauche), D11 (haut).
Code commenté
#define JOY_X A0
#define JOY_Y A1
const int BTN_PIN = 2;
const int LED_BTN = 7;
const int LED_DN = 8;
const int LED_RT = 9;
const int LED_LF = 10;
const int LED_UP = 11;
void setup() {
pinMode(BTN_PIN, INPUT_PULLUP);
pinMode(LED_BTN, OUTPUT);
pinMode(LED_DN, OUTPUT);
pinMode(LED_RT, OUTPUT);
pinMode(LED_LF, OUTPUT);
pinMode(LED_UP, OUTPUT);
Serial.begin(9600);
}
void loop() {
int x = analogRead(JOY_X); // 0–1023
int y = analogRead(JOY_Y);
int btn = digitalRead(BTN_PIN); // LOW = pressé
// Affichage série pour calibrage
Serial.print(x); Serial.print('\t'); Serial.println(y);
// Zones de détection (seuils ~10 et ~1020)
digitalWrite(LED_LF, (x <= 10 && y >= 500) ? HIGH : LOW); // Gauche
digitalWrite(LED_RT, (x >= 1020 && y >= 500) ? HIGH : LOW); // Droite
digitalWrite(LED_UP, (x >= 500 && y >= 1020) ? HIGH : LOW); // Haut
digitalWrite(LED_DN, (x >= 500 && y <= 10) ? HIGH : LOW); // Bas
// Coin haut-droit : éteindre les deux
if (x >= 1020 && y >= 1020) {
digitalWrite(LED_RT, LOW);
digitalWrite(LED_UP, LOW);
}
// Bouton joystick
digitalWrite(LED_BTN, (btn == LOW) ? HIGH : LOW);
delay(100);
}
Personnalisation
- Ajustez les seuils (10 / 500 / 1020) selon votre joystick (zone morte centrale).
- Remplacez les LEDs par un afficheur 8×8, des servos, un buzzer…
- Ajoutez une logique de jeu (ex. « suis la LED qui s'allume »).
Processus de fabrication
- Les Échecs : Des Origines Anciennes à la Fabrication Moderne — Vue d'Expert
- Flipper : histoire, conception et fabrication d'un jeu d'arcade classique
- Le ballon de football : Des jeux anciens à l'innovation moderne
- L'Évolution et l'Artisanat du Football Américain : Des Jeux Anciens aux Standards Modernes de la NFL
- Construire un jeu gyroscopique temps réel avec Arduino Nano et capteur MPU-6050
- Jeu UFO Attack DIY avec Arduino UNO et Afficheur MAX7219
- Créer votre propre jeu de roulette à 37 LED avec Arduino Nano
- Horloge 3D RGB Arduclock – Montre LED Bluetooth avec horloge temps réel
- Surveillance de la Qualité de l'Eau : Système Arduino MKR1000 pour Rivières et Lacs