Arduino Target Practice

A quick demo video for your pleasure.

This is an instructable for a target practice system for airsoft and nerf weapons. The system has been designed to test a shooter’s reaction times and accuracy.

Sam and I have been meaning to do this project for a while, and when the microcontroller competition opened, coinciding nicely with the end of our university exams giving us a real push to pick up the arduino and get stuck in.

This is the first project either of us has attempted on the arduino as well as instructables, so as yet are still inexperienced. On the upside we both have coding experience and both taking electronics based courses at university. So please go easy on us and we thank you in advance for your comments and advice.
Arduino Target Practice
The setup is based on the arduino microcontroller and has four main parts other than the arduino itself. These are a footswitch, buzzer, targets and a display.

So here is the equipment you are going to need, seperated into their individual sections.

Arduino duelimove (or related with 14 pins, based on 4 targets)
Push to make heavy duty switch, similar to those found in guitar pedals.
A door stop, the bigger the better
Buzzer piezo element
Targets (per target):
Metal coat hanger
Thin plate metal, possibly aluminium, you might have another material suitable
Reed switch, a switch that is controlled by a magnetic field
Reed magnet (roughly similar size to the switch)
Resistor (10kOhm and 560Ohm)
Red Led
Green Led
Targets (all):
74HC595 Shift register (1 needed for every 4 targets)
Four 8×8 led matrices
Five 74HC595 shift registers

Alot of wire
A number of prototyping breadboards

Multimeter (this is for general testing of switches and shift register output testing)
Wire cutters
Wire strippers
Soldering Kit
Sheet metal cutters

We are going to run through each section of the build separately, finally ending with a complete build and summary. We have attached a copy of the separate codes to each of the respective sections for you to follow and a complete version at the end. Don’t forget to click on some of the more detailed images to enlarge them, especially the schematics.

Step 1: Footswitch

We discussed a few options for starting the target practice run and came to the conclusion that to operate any sort of hand operated switch would be difficult when you’re holding a gun. This led us to a footswitch similar to guitar pedals. As we have progressed through the project we have found that the footswitch has come in more use then we thought, not just starting the course off, we are now using it to control the display screen at the end of the project. (This is included in the final code).

Since the footswitch on its own does not really constitute a usable unit we decided to mount it on a ramp of sorts, leading us to the door stop which seems to be made for this exact purpose.
Arduino Target Practice circuit
The electronic circuit for the switch is a pretty straightforward affair. It consists of a pull up resistor connecting a +5v line to an arduino pin, giving a HIGH input. The switch is then aligned such to pull the pin low when pressed.

The construction of the complete unit is shown in the pictures which are pretty self explanatory. You will need to drill/cut a hole at the top of the doorstop ramp. The closer to the top the better, as the switch will require a fair amount of force, so needs to be on a good backing. Next up is a small hole on the rear with a vertical slit to guide the cable. When soldering up be sure to check you are using the correct pins (push to make).

Onto the code, it is a pretty simple code that is integrated into a “for” loop in the main program. By doing this the main program will continuously look at the status of the footswitch as it waits for a LOW value, signalling it being pressed and you being ready to go. So the “footcheck” function is called, the value of the designated foot pin is observed and the value then returned to the calling function.

[box color=”#985D00″ bg=”#FFF8CB” font=”verdana” fontsize=”14 ” radius=”20 ” border=”#985D12″ float=”right” head=”Major Components in Project” headbg=”#FFEB70″ headcolor=”#985D00″]Arduino duelimove


For more detail: Arduino Target Practice

About The Author

Scroll to Top
Read previous post:
Laziness Monitor

Build an affordable monitoring setup!This project will help you easily get indications on how much time your are sitting in...