Intro: Universal Remote Laser Tag
Blast away your friends for hours on end with this custom laser tag system. Who needs to pay to play in an arena when you can make your very own game? Best of all, no special equipment is required, because the "guns" are regular universal TV remotes!
Step 1: Parts and Materials
This list includes enough parts to make two complete laser tag vests:
(2x) Safety vest
(2x) Arduino Micro (RadioShack #: 276-258)
(6x) IR receiver (RadioShack #: 276-640)
(2x) piezo transducer (RadioShack #: 273-073)
(6x) red LED (RadioShack #: 55050629) web only
(6x) 360 ohm resistor (RadioShack #: 55049382) web only
(6x) 100 ohm resistor (RadioShack #: 271-1311)
(2x) 1K ohm resistor (RadioShack #: 271-1321)
(10x) 0.1uF capacitor (RadioShack #: 55047557) web only
(2x) micro lever switch (RadioShack #: 275-016)
(2x) SPST slide switch (RadioShack #: 275-401)
(2x) 9V battery (RadioShack #: 23-2211)
(2x) 9V battery snap (RadioShack #: 270-324)
coroplast sheets (old political signs)
Step 2: Design Overview
My main goals when designing the system were to keep it low cost and easily customized.
The main body is a cheap safety vest covered in bits of coroplast, which is the kind of corrugated plastic you'll typically find in U.S. political campaign signs. Sensors are attached to hex-shaped cut-outs and sewn into the vest. I decided to use three sensors for my set of vests. Since they're all wired in parallel, a "shot" to any one will trigger the whole system. An Arduino Micro serveds as the main controller for the system and is powered by a 9 volt battery. When any one of the sensors detects a "pre-programmed" hit from a remote, a piezo will beep a tune and LEDs will flash above the sensors.
Step 3: Assemble Electronics: Main Board
The circuit isn't terribly complicated, but we've got to try and keep it compact on the small protoboard.
First, solder the Arduino Micro with the USB port facing out.
Next, solder the three 100 ohm resistors to the upper (we'll cal this power) rail.
Solder the NPN transistor with the emitter in the lower (ground) rail.
Solder a 0.1 uF capacitor across the power and ground rails.
Solder wire leads to the micro lever switch.
Solder one of the switch leads to the ground rail and the other to digital pin 2.
Solder the positive lead of the piezo to digital pin 12 and the black lead to the ground rail.
Solder the slide switch to the red lead of the 9V battery snap.
Solder another red wire from the slide switch.
Solder the red lead from the switch to the VIN pin.
Solder the black power lead to the ground rail.
Solder leads to an LED and connect the anode to the output of the 360 ohm resistor.
Solder the cathode of the LED to the collector of the transistor.
Through a 1K ohm resistor, solder the base of the transistor to digital pin 3.
Step 4: Assemble Electronics: Sensor Pads
Next we'll begin making the individual sensors.
First, solder 0.1 uF capacitors across the power pins of the IR receiver. Looking at the flat (back) side of the sensor, the pins from left to right are: power, ground, and output.
Solder a couple feet of wire to the sensor and insulate the connections with heat shrink.
Braid or twist the wires to keep them neat. This will make things easier to sew.
Cut out the hex shapes from the attached template. I used a laser cutter, but a pen knife cuts through coroplast like butter, and an awl, or similarly pokey tool, makes quick holes. Since the underside of the sensor pads will be sewn to the vest, we don't have to worry about burrs or it looking too pretty.
Press the sensor and LED into their respective holes and tape down the wires.
Solder the anode of the LED to the output of another current limiting resistor.
Solder the cathode of the LED to the collector of the transistor.
Solder the anode of the sensor to the output of one of the 100 ohm resistors.
Solder the cathode of the sensor to the ground rail.
Solder the output of sensor to digital pin 11.
Repeat the previous steps as necessary depending on how many sensors you make.
Screw in the main board to the large hex.
Pop in the piezo to the main board.
Screw in the slide switch.
Step 5: Vest Assembly
If you don't have any long 2mm screws, some thread will work just fine to hold the lever switch in place.
Tape down the sensor pad where you wish.
Stitch the corners of the sensor pad to the vest. A couple times though each hole should hold each securely.
Sew the wires from the extended sensor pad along the reflective layer.
Before sewing the main sensor pad in place, put a small piece of loop Velcro on the back of the piezo.
Sew the main sensor pad in place.
Put the matching piece of "hook" Velcro on the bottom of the 9 volt.
Slide the 9 volt into the available space and attach the snaps.
Step 6: Electronics Assembly: Program the Vests
Now that we've assembled the vests, all we need to do is program them to respond to our remotes! First, download the UR_Laser_Tag sketch and upload it to your Arduino Micro.
It would be a hassle to need to connect the vests to a computer to reprogram a code, so I added a snippet of code that allows you to "program" a new code without a computer. If you connect the Arduino to a computer, prompts will also appear on the serial monitor.
Hold down the Erase button (the lever switch) and turn on the vest.
Continue to hold down the button until the LEDs flash 6 times.
Release the Erase button. The Arduino is now in "programming" mode and is ready to receive a signal from a remote.
Aim a remote at one of the sensors and press the desired "firing" button. If the Arduino captured the code, then the LEDs will blink six times. The Arduino is now in "confirmation" mode.
Press the same button again and the Arduino will again blink six times to confirm. The code has now been stored in EEPROM and will be saved for future use.
If the Arduino does not capture the same signal after three attempts, the LEDs will blink slowly twice, then return to "programming" mode.
Once the Arduino has captured and confirmed the signal, the LEDs will blink three times. They will also blink three times during normal start-up, after which time the Arduino is now ready for "target" mode and will buzz and flash when the previously set code is detected. This setup allows for individual systems, so that you don't accidentally shoot yourself. You could allow for it though!
Step 7: Game On!
Enjoy your new custom laser tag system! This is just a working proof of concept, but I would love to see people make a full team or two of vests, or perhaps custom holders for the remotes to look like ray guns. The possibilities are endless.