Close
0%
0%

PouleShootClapPool

A new different version of the well-know game, Dance Dance Revolution (DDR)

Public Chat
Similar projects worth following
Our project is an adaptation of the arcade game Dance Dance Revolution. At the beginning, the goal is to step on arrows on the ground when they light up.
We changed the game a little. In our new version, we can either play with the feets and the hands.
There is still a pedal on the floor but we added some movements with the arms.
There are two ropes that you can pull so that they trigger a button.
There is also a cymbal, when you clap it, it activates a button and makes a sound.
The arrows of the game are therefore replaced by the other mecanism. At the end, it is supposed to be sportier game than the original one.

The Dance Dance Revolution project was part of the international program at ESME engineering school, guided by Mr. Vladimir HERMAND and Mr. Vincent ROGER. The objective of the course was to inspire innovation and creativity while applying our knowledge of Arduino or similar technologies.

This semester’s challenge was to design a game controller for a selected video game. Through this project, we explored inventive solutions, collaborated as a team, and bridged theoretical knowledge with hands-on application, enhancing both our technical abilities and problem-solving skills.

avoirsicamarcheelol.ino

the final code with the cymballs sound (approcimatly we can not reproduce the cymballs noise)

ino - 1.47 kB - 12/16/2024 at 11:14

Download

prefinalcodearduino.ino

our prefinal code to activate the buzzer with our arcade buttons

ino - 708.00 bytes - 12/15/2024 at 21:59

Download

onesttropfortes_copy_20241212162224.ino

arduino to verify if thee buzzers working

ino - 603.00 bytes - 12/12/2024 at 15:23

Download

circuits buzzers resistance n buttons.jpg

circuits in parallels to have a sound when using our buttons. (remember that the buttons are arcade ones not arduino buttons) credit inspiration : the geek pub

JPEG Image - 150.16 kB - 12/11/2024 at 10:12

Preview

scheckt connect buzzer.jpg

The circuit to connect the buzzer to arduino without the buttons. (it was to test if our buzzer was working)

JPEG Image - 41.10 kB - 12/11/2024 at 09:49

Preview

  • 4 × arcades buttons of any colors
  • 8 × wires long wires (for that we use some wago claws or a soldier )
  • 14 × wago connectors claw
  • 10 × Cardboard for protoypes a lot will be needed, take first the quantity of a big cartoon of cardboard
  • 1 × arduino board take any medium sizes to have enought place to feel comfortable.

View all 14 components

  • ~monday 16th december~

    MangèleGOUNOUN12/16/2024 at 12:50 0 comments

    ~monday 16th december~ ~Ovation~

    Today is the day, we finally finish !!!

    So the code of yesterday is working with the cymaballs, is not totally what we think it will sound but yeah it still does work and we are so happy.

    here it is :

    const int BUTTON_PIN = 7;   // Pin du bouton
    const int BUZZER_PIN = 3;   // Pin du buzzer
    
    void setup() {
      Serial.begin(9600);               // Initialisation de la communication série
      pinMode(BUTTON_PIN, INPUT_PULLUP); // Pin du bouton en mode entrée avec résistance interne
      pinMode(BUZZER_PIN, OUTPUT);      // Pin du buzzer en mode sortie
    }
    
    void loop() {
      int buttonState = digitalRead(BUTTON_PIN); // Lecture de l'état du bouton
      
      if (buttonState == LOW) { // Si le bouton est pressé (état LOW)
        Serial.println("Le bouton est pressé");
        playCymbals();  // Jouer le son des cymbales
      } else { // Si le bouton n'est pas pressé (état HIGH)
        Serial.println("Le bouton n'est pas pressé");
        noTone(BUZZER_PIN); // Arrêter le son du buzzer
      }
    }
    
    // Fonction pour simuler le son des cymbales
    void playCymbals() {
      unsigned long totalDuration = 200; // Durée totale du son des cymbales en millisecondes
      unsigned long startTime = millis(); // Temps de début du son
    
      // Génération de fréquences aléatoires pour simuler le son des cymbales
      while (millis() - startTime < totalDuration) {
        int freq = random(3000, 8000);       // Fréquences aiguës entre 3 kHz et 8 kHz
        int noteDuration = random(10, 50);   // Durées courtes des notes entre 10 et 50 ms
        tone(BUZZER_PIN, freq, noteDuration); // Jouer la note
        delay(noteDuration); // Attente avant de jouer la prochaine note
      }
    
      noTone(BUZZER_PIN); // Arrêter le son une fois la durée écoulée
    }
    

     Then we also finished the instructions, we hope it will help you if you want to do the same haha.

    So here are some pictures of our project:

    we are really thankfull on your investement in our project thankk yooouuuu <3 

  • ~sunday 15th december~

    MangèleGOUNOUN12/15/2024 at 22:23 0 comments

    ~sunday 15th december~ ~Cymballs  Claps~

    Today I did finalise the researchs about how to reproduce the cymballs noise on Arduino, I did found it without using an MP3 Arduino's reader however it is not perfect, cymables noise is specifc and very large at the same time.

    I did conclude on this code:

    const int buzzerPin = 9; // Pin du buzzer 
    
    void setup() {
      pinMode(buzzerPin, OUTPUT);
    }
    
    void loop() {
      playCymbals();
      delay(2000); // Pause entre les sons
    }
    
    void playCymbals() {
      // Durée totale du son des cymbales
      unsigned long totalDuration = 200; // en millisecondes 
      unsigned long startTime = millis();
    
      // Génération de fréquences aléatoires pour simuler le son des cymbales
      while (millis() - startTime < totalDuration) {
        int freq = random(3000, 8000);       // Fréquences aiguës (3 kHz à 8 kHz)
        int noteDuration = random(10, 50);  // Durées courtes (10 à 50 ms)
        tone(buzzerPin, freq, noteDuration);
        delay(noteDuration); // Attente avant le prochain son
      }
    
      // Stopper le son après la durée totale
      noTone(buzzerPin);
    }

     It will produces random acute notes of random duration to be as close as the one of cymballs. 

    Manon finished the instruction about how to recreate our projet, we'll just change some small things.

    Moreover I  finally did the other cymballs for our project it has been over 3 weeks that we needed to do this last touch and so now id good.

    Tomorrow is the eve of our final presentation, we will upload some photos of our finals project and maybe a video. + maybe we add another small detail as a bonus who knows... 

  • ~thursday 12th december~

    MangèleGOUNOUN12/12/2024 at 14:48 0 comments

    ~thursday 12th december~ ~Last days~

    Manon and I met at the FabLab to finalize our project. 

    Today the goal was to make the Arduino part work, last time did not went the best so we needed to catch up We did in final sucess to program with our computers and we have so now our new code that when we buzzing our button it is producing a sound.

    the code:

    // Définir la broche utilisée pour le buzzer
    const int pinBuzzer = 8;
     
    void setup() {
      // Initialiser la communication série pour envoyer des messages au PC
      Serial.begin(9600);
     
      // Configurer la broche du buzzer en sortie
      pinMode(pinBuzzer, OUTPUT);
    }
     
    void loop() {
      // Activer le buzzer
      digitalWrite(pinBuzzer, HIGH);
      Serial.println("Le buzzer devrait émettre un son !");
      delay(500); // Jouer le son pendant 500 millisecondes
     
      // Désactiver le buzzer
      digitalWrite(pinBuzzer, LOW);
      Serial.println("Le buzzer est silencieux.");
      delay(500); // Pause avant le prochain son
    }

     However the code is working it does produce an horrible noise, like a strident sound. Then we decide to do research about how to change the sound produce on arduino and do it next time.

    Moreover, we did solder again the wires,  needed a  parralel circuit so we dedoubled our wires like here:

    Then we faced some trouble using Arduino and JoyToKey at the same time, the buzzer coudl not stopped the sound after we plugged it to JoyToKey too. In fact it was a problem about the type of current we had in JoyToKey. We plugged it in a continuous current and not an analogic current. (the one that was need). But now it is okay our button board had to ype of current so it is perfect.

    Next time we meet we will do the change of sound in arduino !

  • ~tuesday 10th december~

    MangèleGOUNOUN12/11/2024 at 09:44 0 comments

    ~tuesday 10 december~ ~Fail?~

    Our goal for today was finishing arduino however it did not went the way we wanted. We learnt that the suldier for our wires needed to be redone (we need to do a parralels circuit) but we couldn't accessed to it, others groups were using it. Then with Angèle we need to go when we dont have class to the fab lab (the lab where we do our projects) to suldier it.

    Moreover we tried in 3 HOURS so many codes for our buzzers to work, it never worked. Because of what ? our computers. We lost so many times thinking it wasn't good but it was just our computers cause when we tried the same code with same materials it did work. Then at an other time we need to meet Angèle and I to finish our code.

    We don't have enough hope on that project finally comparing to other it is not nice, but thanks to our first follower beleive in us.

    No worries we do not give up just our moral is affect.

    is it our code:

    // Définir la broche utilisée pour le buzzer
    
    const int pinBuzzer = 8;
    
    void setup() {
      // Initialiser la communication série pour envoyer des messages au PC
      Serial.begin(9600);
      // Configurer la broche du buzzer en sortie
      pinMode(pinBuzzer, OUTPUT);
    }
    
    void loop() {
      // Activer le buzzer
      digitalWrite(pinBuzzer, HIGH);
      Serial.println("Le buzzer devrait émettre un son !");
      delay(500); // Jouer le son pendant 500 millisecondes
      // Désactiver le buzzer
      digitalWrite(pinBuzzer, LOW);
      Serial.println("Le buzzer est silencieux.");
      delay(500); // Pause avant le prochain son
    }

    EDIT: Angèle writting:

    I went to the pharmacie this tuesday and the guy was really into our project so it did affect me in a positive way.

  • ~saturday 7th decemeber~

    MangèleGOUNOUN12/11/2024 at 09:30 0 comments

    ~saturday 7th decemeber~ ~Make up~

    So today manon came at my house and we were supposed to decorate and code our project so that next tuesday it is only the detail.

    However she did forget her computer so we could not do the coding part but we did pimped our project with pink wrapping paper.

    More over we tested our project on joy to key to make sure thta it is working, hopefully it does so that is a relief.

    Next time Arduino  produce a sound (i did some research it is not goingg to be easy)

  • ~tuesday 3rd december~

    MangèleGOUNOUN12/07/2024 at 18:29 0 comments

    Tuesday 3rd december ~ big clap~

    We tapped rope so that the buttons would not move.

    We did a global test with everything except the Arduino part. We are very happy because everything works!

    Now we need to make it good looking because it is a little ugly for now. We will meet at Angèle's place  to make it decorate it and do arduino too (arduino is an urgence)

  • ~tuesday 26th november~

    MangèleGOUNOUN12/07/2024 at 18:21 0 comments

    Tuesday 26th november ~Manon's Gone~

    I am alone this time Manon is not there due to personnal reasons. I did finish all of our prototypes of every thing we have the POULE (pulling sting towardx us), the POOL (pulling string downwards), the CLAP (Cymbals taht you take from the groud that will produce a sound (if we suceed with arduino)) and the SHOOT (Step tht you will shoot a by pressing a button will send the information).

    The hard part was finishing to elongate the wires (too little in originals). Previosu session we used soldier but Vincent our teacher showed me an easiest way we wago connecting claws.

  • ~tuesday 19th november~

    MangèleGOUNOUN12/07/2024 at 18:10 0 comments

    anTuesday 19th october ~Motivation~

    DAMM les gens, as a famous youtuber says,

    Today, our teachers approved our idea, Angèle had a good time! We searched for new ideas and found that we could pull some strings to press the buttons (one fowards us and an other downwards.

  • ~tuesday 5th november~

    MangèleGOUNOUN12/07/2024 at 17:50 0 comments

    Tuesday 5th november ~Fatigue~

    We were not really into the class today, our exams are approching, however we test some other version of DDR and we opted to pull a string on a button.

    It is just a prototype but i have faith in it (just need to convice manon about that haha)

  • ~tuesday 22th october~

    MangèleGOUNOUN12/07/2024 at 17:42 0 comments

    Tuesday 22th october ~Desillution~

    When the time to try our pedal with the conductors came we learned by our profesor (Vincent) that did not have the right components class (Angèle had a hard time). We had to find a new way to make it work! We though about the buttons but in a different way. *

View all 13 project logs

  • 1
    Be creative !

    Let  your imagination speak and find a idea that feels like it is the one 

  • 2
    Prototype

    First, make the game with card board to see if it is physically possible to play with it (possible to do the movements at the same time for example).

    To make the pulling movements: take some hard wooden board so that the button in the middle does not move. Put a string to press the button, tape it to keep it still.

    For the first pulling movement, the player has to pull forward and downward for the other one.

    To make the shooting movement: take two card boards with one with a whole in the center to put a button. Glue some foam between the two boards so that the button is not pressed all the time.

    To make the cymbals: same system with the two boards and foam between them. Add another board that will be in the other hand of the player.

  • 3
    Wiring

    To connect everything together and to respect the distances we need some elongate the original wires. We use then some wires contained in some usb to usb-b male cables soldier it with the ones capable of being connected with Arduino’s board and the arcade buttons. It does mean you have to split in two the wires on one side. 

    Then connect to Arduino and JoyToKey at the same time, if it is not working make sure it is connected to an analogic current.

View all 5 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates