Reaction Time Shooter


Hello everybody, I would like to share with you my new project: Reaction Time Shooter.
This game is to be played by one person at a time. The goal is to get your reaction time as low as possible by quickly shooting the target once the red LED turns on. Most people struggle to get a time below 300ms. I am eager to know what kind of times you are able to accomplish.
Supplies
Gun:
- IR LED
- Push-button
- Arduino Nano V3.0
- 100 Ω resistor
Target:
- IR receiver
- 2x LED (any color)
- Push-button
- Arduino Uno
- I2C LCD interface module
- 16x2 LCD display
- 2x 1K Ω resistor
General:
- Wires
Start Small

You have to start somewhere and this is where my journey started, with a simple IR LED hooked up to some code that made it fire every second. Before this point, I had never worked with Arduino or anything similar.
Prototype Gun


This is all the setup you will need to have your own functional IR remote/gun. As you can see there is not much to it. Some of you might notice there is no resistor for the button. This is because I used the technique I discovered here. This not only makes the circuit easier but also adds a little trick to how you use the gun:
You see, the human mind expects a button to immediately react once it is pressed. However using this setup, the button will only fire once it has been released. This can be seen as a carnival trick to make it extra difficult to get a good time.
Prototype Target


And this is all the setup you will need to have your own functional IR target.
LCD Display

For simplicity and clarity, I decided to add an LCD display to an "empty" Arduino Uno. To combine both the target circuits simply connect the 4 wires of the LCD display to the other circuit. The library used by the I2C LCD interface module is available here.
Code Gun

This is the code for the IR remote/gun.
Code Target


And here is the code used by the IR target.
Downloads
Final Assembly




For my final assembly, I decided to use an old broken laser pistol I had lying around for my gun and I hollowed out a block of foam for my target. How you want to handle this step is totally up to you though.
Play

Once you have it all configured and set up it is time for the most important part: play the game. I highly encourage you to challenge people to get a time below 300ms.