Universal Remote Laser Tag

by Aleator777 in Circuits > Arduino

38304 Views, 511 Favorites, 0 Comments

Universal Remote Laser Tag

IMG_9386.jpg
IMG_9373.JPG

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!

Parts and Materials

IMG_9318.JPG
IMG_9315.jpg

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)

thread

sticky-back velcro

tape

Design Overview

Laser Tag Overview.jpg

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.

Assemble Electronics: Main Board

Laser Tag Schematic.png
IMG_9321.JPG
IMG_9322.jpg
IMG_9323.jpg
IMG_9324.jpg
IMG_9327.jpg
IMG_9331.JPG
IMG_9334.jpg
IMG_9332.jpg
IMG_9336.jpg
IMG_9325.JPG
IMG_9326.jpg
IMG_9337.jpg
IMG_9341.jpg

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.

Assemble Electronics: Sensor Pads

IMG_9319.jpg
IMG_9320.jpg
IMG_9338.JPG
IMG_9328.jpg
IMG_9344.JPG
IMG_9347.JPG
IMG_9351.jpg
IMG_9352.jpg
IMG_9354.jpg
IMG_9356.jpg

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.

Vest Assembly

IMG_9355.jpg
IMG_9357.jpg
IMG_9359.jpg
IMG_9360.jpg
IMG_9361.jpg
IMG_9362.JPG
IMG_9363.jpg
IMG_9364.jpg

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.

Electronics Assembly: Program the Vests

arduino_logo-wallpaper-1280x768.jpg

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.

Field Programming:

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!

Downloads

Game On!

IMG_9379.jpg

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.