PAD HERO Guitar Hero Using Arduino
PAD HERO Guitar Hero Using Arduino
by PAD HERO
A group of three students present you PAD HERO, our simple as possible so we gave it the retro/arcade touch it
Arduino based Guitar Hero game. This project was has. The setup uses a SAV MAKER I as a controller, an
submitted to 'Creative Electronics', a Beng Electronics alternative to Arduino Leonardo, assembled by us.
Engineering module at University of Málaga, School of
Telecommunications (https://www.uma.es/etsi-de- We hope you enjoy this instructable as we did enjoy
telecomunicacion/). making it! Also, if you need help with some of the steps
or want to collaborate do not be afraid of asking in the
The aim of this Project was to replicate the popular commentary section!
game Guitar hero on Arduino. We wanted to keep it as
Step 1: Suplies
Soldering kit
Tin and ux
Instant glue for rigid plastic
3D printer
Hot melt glue to x microcontroller
All the design has been done in Solidworks with the collaboration of the industrial designer who works at A3dei
You can download the stls on thingiverse or at the same time as the code on github.
Most of the pieces (at least the exterior) are con gured to be printed on a small surface, for example in an Ender 3, the
design of the union between pieces is integrated into the general aesthetics of PAD HERO, some trims have been added
to cover the joints.
"Parte superior 01.stl" and "Parte superior 02.stl" are designed to e ect a lament change during printing
"Railes con cuadricula.stl" is long piece, you will need a large printing surface or section the STL, later glue
them together.
"Difusor" is not an STL, it is a translucent plastic sheet reused from a notebook, cut with scissors until it ts,
at least 0.3mm thick.
The sides and the oor do not have any complications in their assembly, however you should pay attention to aligning
the LEDs ("Parte superior 01.st", "Parte superior 02.stl" and "Railes con cuadricula.stl", it is advisable to draw the nal
position with a marker before applying the glue
The next version of the design could have a hole to x the speaker to the outside, since inside the box the sound power is
limited. But with the current build you can use any speaker.
Replacing the button’s LEDS with our own. First you stripes in order to test rst. To test it we used some
need to solder the neopixel single LEDS into some electrical quick connectors as you can see in one of the
cables. Then disassembling the buttons and replacing photos posted. Then the button will be one more
the led with the neopixel we attached the cables. accessible LED in the matrix.
Led Stripe. Either if you have a long one(you will need For the potentiometer and the switch button there is
to cut it) or 4 short ones you need to solder them as the not much more to say.
schematic below shows, just solder small wires in the led
Insert the led stripe into the 3d printed matrix case. outside. It´s better to keep the power supply
Once we got the buttons ready to go, we shall proceed disconnected from the AC, but take special care when
to connect them with the led stripe and t them inside wiring it.
the case. Then put the light di user sheet in between
the matrix and the top part of the case. Make sure the If you want to improve our design, you could include a
leds are in line with the holes and glue it. If you succeed debounce RC circuit in the buttons. We really had a
in this task you can start wiring the buttons and the led struggle with that that could not be solved via software.
stripe all toguether, make sure you respect the Data
in/Data out pins on the new buttons. We had some Now it's time to start joining the wires with the SAV-
problems with that. MAKER-I as the schematic shows and we will be ready to
test it.
You can choose between connecting the switch to the
5V source or directly to the AC cables coming from
For this Project we used one of the most popular interrupt pins) we want to recommend the library
libraries for LED controlling, the Adafruit NeoPixel EnableInterrupt by GreyGnome (EnableInterrupt) in case
Library in order to control our led strip. We also used the your arduino board does not have that many digital pins
pitches.h library combined with the tone() function to usable for interrupts.
control the buzzer tones.
You can nd all the code used here [CODE]. (V2)
We structured the code as a state machine where you (NEW GAME MODEs: PIANO AND SIMON SAYS)
can nd the intro animation, the selection of the song
you want to play with, the main game and a nale The code is still in the development phase, we are aware
animation with the score you got. that the gameplay can be improved, more animations
can be added and the sound can be improved. All the
With the object to control both leds and button necessary modi cations will be made to achieve a solid
interruptions we tried to keep it as raw as possible using game.
a ag and the millis() function as a fake timer interrupt
inside the main loop. Disclaimer: The whole program is programmed from
scratch but we got ideas for some parts of our code from
The code itself is probably not the most e cient code another instructable by oKgeeg.
ever, but it works pretty awless. In order to make this
project more accessible (since it needs at least 4
Plug in the PAD HERO and you will se an animation you will see some leds falling from the top, the goal of
where random leds turn on while a song is played. the game is pressing the right button at the right time to
keep playing. You fail if you dont press the button in
If you press any button the game will transfer you into a time or press the wrong button. In that case the game
select song menu. You can select the song you want to will display your score and wait for you to press any
play with by pressing the left button or the right button. buton to start again from the animation.
To con rm the song just press one of the central
buttons. We adjusted the di culty so the leds travel faster as you
dont fail. Even us cannot get the maximum score!
Once you con rmed the song the game will start. Then
https://youtu.be/j1HRlRGxcZA
Did you use simulation before execute? Can I see proteus or any simulation schematic
We tried a simulation with the tinkercad circuits tool, but it was very troublesome to handle the
delays (the simulation was really slow)
We do not know of another tool that easily simulates an addressable led strip ws2812b or similar
Thanks for the shoutout! The project looks awesome!! I'm impressed :)
Thanks a lot!