Introduction: DIY Laser Tag Using Arduino

I've always wanted to build a laser tag to play with my siblings at home. Since its quarantine and we are so bored, I decided to make a laser tag with arduino.

This instructable will be divided into three parts –

· Steps 1 – 3 - making the vest

· Steps 1 – 3 - making the gun

· Steps 1 – 3 - Electronics

Step 1: Making the Vest - Part 1 - Supplies

SUPPLIES

  • Cardboard
  • Sewing kit
  • Shoulder strap from bags
  • Bag clips

Step 2: Making the Vest - Part 2

  • Start by arranging the electronics in the cardboard , cut it and paint it .
  • Then hot glue or sew the shoulder straps the the cardboard as shown in the picture above.

Step 3: Making the Gun- Part 1 - Supplies

SUPPLIES

  • Cardboard
  • 8 inch long PVC pipe
  • Nuts and Bolts

Step 4: Making the Gun- Part 2

  • Measure and cut the handle of the gun as shown .
  • Paint the handle with color of your choice
  • Attach the handle to barrel as shown with nuts and bolts

Step 5: Electronics

Refer the above schematics to solder the components together.

The ir led and the push button goes on the gun whereas the one ir receiver goes on the back of the vest and one ir receiver goes to the front of the vest.

One you have finished soldering , you can upload the code

Remember to download and include the necessary libraries in your folder:
IRRemote: https://github.com/z3t0/Arduino-IRremote

Step 6: CODE for 1st Vest

#include <IRremote.h>
int red_LED = 9;
int green_LED = 8;
IRsend irsend;
int RECVa_PIN = 5;
int RECVb_PIN = 6;
const int button1 = 4; //trigger

void setup() {
    pinMode(red_LED, OUTPUT);
  pinMode(green_LED, OUTPUT);
  
    pinMode(button1, INPUT);
  irrecva.enableIRIn();}
    irrecvb.enableIRIn();}


void loop() {
  digitalWrite(red_LED, HIGH);
if (digitalRead(button1) == HIGH){
  timer = 0;  
  delay(50);
  irsend.sendNEC(0x34895725, 32);}
  if (irrecv.decode(&results))
  {
    if (results.value == 0x56874159)
    {

      digitalWrite(green_LED, HIGH);
    }
}

Step 7: CODE for 2nd Vest

#include <IRremote.h>
int red_LED = 9;
int green_LED = 8;
IRsend irsend;
int RECVa_PIN = 5;
int RECVb_PIN = 6;
const int button1 = 4; //trigger

void setup() {
    pinMode(red_LED, OUTPUT);
  pinMode(green_LED, OUTPUT);
  
    pinMode(button1, INPUT);
  irrecva.enableIRIn();}
    irrecvb.enableIRIn();}


void loop() {
  digitalWrite(red_LED, HIGH);
if (digitalRead(button1) == HIGH){
  timer = 0;  
  delay(50);
  irsend.sendNEC(0x56874159, 32);}<br>  if (irrecv.decode(&results))
  {
    if (results.value == 0x34895725)   
<pre>   {

      digitalWrite(green_LED, HIGH);
    }
}