The objective of this project is to have an electronic target system, built for airsoft, that has game modes and lights to give feedback whether a target is hit or not. This can be used for training, competition or just to have fun shooting.
This project was meant to be free and openly available to anyone interested in it. Feel free to use and change this code/project. Just don't use it to exploit others! Don't use this FREE project to overcharge people for stuff they don't understand how to do.
This system uses piezos, RGY LEDs and a potentiometer to adjust the sensitivity of the piezos. Here you'll find a quick sum up of a target system that I built for an airsoft shop. I started by quick prototyping with the electronic components and an Arduino Uno I had lying around.
Because they had a dummy with just the torso laying around, we used it as a base, placing one piezo+LED set at the torso, another one on a plate placed as the dummy's head and another one on a plate placed as the dummy's legs.
For this project you'll need (all items are easily found either at local electronic stores or online):
- 3x RGY LEDs (or RGB, just make sure to adjust the code)
- 3x 270 Ohm Resistor
- 3x Piezo
- 3x 1M Ohm Resistor
- 1x Potentiometer
- 1x Breadboard
- 1x Arduino Uno/Nano
- 1x Protoboard
- Aluminium sheets (or an harder metal)
- Structure to hold the targets
Time to complete the project: I did all of it in about 5h so I hope this guide will help you be faster :)
Be sure to check:
Step 1: Build the Circuit
The circuit is really simple. Since I just need simple colors (the 3 primary ones with the LED), I've connected the LEDs pins to regular Arduino pins. If you want to have more color variations make sure to connect the LEDs to PWM pins and change the values on the color functions on the code according to the color that you want.
Things to keep in mind:
- The piezos need a 1M Ohm resistor (each) to work properly (for this use case at least).
- The LEDs I'm using need a 270 Ohm resistor at each pin
Step 2: Program the Arduino
At this time I still hadn't thought about adjusting the sensitivity of the sensors without code so that's why I don't see a potentiometer in the video.
It has two working modes:
- In the first one, every target has a red light on and when you hit it, it turns green for a brief moment.To enter the second one, you have to hit 10 times straight a specific target.
- The second mode is a random mode. Here you have all the lights off and randomly (time and target) a target will show a yellow light. You have 3 attempts to hit the right one or 20 seconds, after this you move to the next randomly selected target. This mode lasts for 100 targets.
Link to the code: https://github.com/mnpmanuel/AirsoftTarget
Just use the Arduino IDE, connect the Arduino to your PC/Mac, select the right port, board and processor and upload the code.
Step 3: Build the Targets
Like I told you in the intro, the targets where planed to go on a dummy that only had a torso. Since some airsoft guns can shoot at somewhat high powers, be sure to use a hard metal to make the target out of. Don't use a very thick one and it's very important that it conducts vibrations really well, this is how the piezo is going to to know that the target was hit.
These were made out of aluminium with a 0,8mm thickness. After a day at the store's range it worked flawlessly but is showing some wear. I would recommend picking up some steel sheets.
The targets need to have a 5mm hole cut for the LED. Drill 4,5mm holes to hang the target. Working with metals, be sure to file the edges and the holes so that you don't cut yourself.
Step 4: From the Board to Portable (optional)
Note: I decided to switch from an Arduino Uno to a Nano since it's cheaper and smaller, making it an ideal choice to have it attached permanently to a dummy. You don't need to do this and can keep using the other board and a breadboard but I strongly recommend that you find a better solution to attach the wires.
Board choices aside, at this step you'll make things smaller. To do so, just solder the circuit to the Arduino Nano, using perfboard to help with common grounds and other connections like shown in the pictures.
Give 1 meter of wires from the Arduino to each LED and piezo. Since the potentiometer is just used for adjustments I chose to keep it close to the Arduino. It's better to have more wire and tuck it away than to have things short of where they need to be.
Step 5: Attach Everything to the Target
As the title says, at this step you'll have to attach everything to the target.
- Place the Arduino at a safe place behind the target, preferably at the middle so that it's easier to connect everything.
- Glue the LEDs to the holes in the targets.
- Protect the LEDs from bb impacts.
- Attach the piezo to the back of the targets using some tape.
- Use a power adapter and have fun! (I used an old USB charger I had laying around with a 5v-1A output, but you can use something from 200mA)
You're done! Hopefully with a fully functional electronic airsoft target system. From here the sky is the limit! You can track and time shots, create more game modes,... Just make sure to have fun while you use this project :)
Note: The dummy turned out to be made out of thick fiberglass which makes it hard for the piezo to read impacts across the torso. The LEDs where placed with the stores preferences.