Project showcase
Laser Activated NERF

Laser Activated NERF © GPL3+

I designed and built a laser-activated NERF system.

  • 2,482 views
  • 0 comments
  • 10 respects

Components and supplies

About this project

I had this NERF Jolt laying around. At first I was working on laser sight to help aiming. When I was doing some testing with a laser diode, I thought of a way cooler idea. What if the NERF can be triggered by a laser invisible tripwire.

A quick breadboard test with a light depend resistor proofed that the laser parts was going to work. Pulling the trigger with a small servo turned out to be way more difficult than I thought it would be. The NERF Jolt needs around 3.5 kg force on the trigger to fire. After inspecting how the trigger system worked I discovered that the trigger force could be reduced to 0.5 kg by cutting away a small piece of plastic from the trigger. Now a small 5V servo can pull the trigger without any problem.

The 3D-printed servo bracket locks itself on the trigger guard. I tried 8 different designs and after print number 20 I finally one that fitted perfectly.

Working with wireless communication was a first for me. I used two nRF24L01 break outboards for this part. I got this working without any problem. The boards should have 50-100 meters range (in open field) without an extra antenna. In house I lose signal after couple of meters. When the battery loses some juice the range is reduced significantly.I have to do some more test with the nRF24L01 board to find out how to improve the range. Suggestions are welcome!

Take a look at my YouTube channel for more projects: www.YouTube.com/mbcreates

Code

receiver.inoArduino
/*
 credits: Parts of this sketch are from this two tutorials
 https://www.youtube.com/watch?v=7rcVeFFHcFM&t=369s
 https://www.youtube.com/watch?v=4fN1aJMH9mM&t=125s
 
*/

#include <Adafruit_NeoPixel.h>
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>

#define LEDS 1
#define PIN 10

Adafruit_NeoPixel strip = Adafruit_NeoPixel(LEDS, PIN ,NEO_GRB + NEO_KHZ800);


RF24 radio(7, 8);
const byte addresses[][6] = {"00001", "00002"};
Servo servo1;



int ldrStatus;


void setup() {
  
  Serial.begin(9600);
  pinMode(button, INPUT);
  servo1.attach(5);
  radio.begin();
  radio.openWritingPipe(addresses[0]); 
  radio.openReadingPipe(1, addresses[1]); 
  radio.setPALevel(RF24_PA_MAX);

  pinMode(button,INPUT_PULLUP);


  strip.begin();
  strip.show(); 

  strip.setPixelColor(0, 0, 0, 0); 
  strip.show(); 
  
}
void loop() {


if(ldrStatus==0)
{
   strip.setPixelColor(0, 0, 0,  255); //BLUE
 strip.show();
}
 if(ldrStatus>0)
 {
   strip.setPixelColor(0,0,  255, 0); //RED
    strip.show(); 
 }

delay(5);
  radio.startListening();
  radio.read(&ldrStatus, sizeof(ldrStatus));

servo1.write(100);

  if((ldrStatus<940)&& (ldrStatus>10))
  {
      strip.setPixelColor(0, 255, 0, 0); //GREEN
 strip.show();  
       servo1.write(30);
    delay(100);
  }
  
}   // end of program
transmitter.inoArduino
/*
 credits: Parts of this sketch are from this two tutorials
 https://www.youtube.com/watch?v=7rcVeFFHcFM&t=369s
 https://www.youtube.com/watch?v=4fN1aJMH9mM&t=125s
 
*/

#include <Adafruit_NeoPixel.h>
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>


#define LEDS 1
#define PIN 10


const int ldrPin = A0;  

Adafruit_NeoPixel strip = Adafruit_NeoPixel(LEDS, PIN ,NEO_GRB + NEO_KHZ800);


RF24 radio(7, 8); // CE, CSN
const byte addresses[][6] = {"00001", "00002"};



int ldrStatus;



void setup() {

  Serial.begin(9600);
  pinMode(12, OUTPUT);
  radio.begin();
  radio.openWritingPipe(addresses[1]); // 00001
  radio.openReadingPipe(1, addresses[0]); // 00002
  radio.setPALevel(RF24_PA_MAX);


  strip.begin();
  strip.show();  
  
}




void loop() {

 
  ldrStatus = analogRead(ldrPin);  


           delay(5);
    radio.stopListening();
   
    radio.write(&ldrStatus, sizeof(ldrStatus));

if(ldrStatus>940)
{
  strip.setPixelColor(0, 0, 255, 0); //RED
 strip.show();
}
     
else
{
  strip.setPixelColor(0, 255, 0, 0); //GREEN
 strip.show();  
}



  
}   // end of program

Custom parts and enclosures

attachment
lasser body lit
lasser_body_uOSwsZTin5.STL
receiver_holder_YwTTLpbavy.STL
transmitter_holder_2k8wCYYoeK.STL
trigger clamp / servo holder

Schematics

transmitter_sketch_bb_cDD5wyBuer.jpg
Transmitter sketch bb cdd5wybuer
laser_bb_W03Ak5opBG.jpg
Laser bb w03ak5opbg
receiver_sketch_bb_CKrnc4ARHV.jpg
Receiver sketch bb ckrnc4arhv

Comments

Similar projects you might like

Laser Pointer Panther Tank

Project tutorial by Arduino “having11” Guy

  • 5,269 views
  • 1 comment
  • 12 respects

Motion Activated Stairs

Project tutorial by Dante Roumega

  • 8,149 views
  • 1 comment
  • 58 respects

Punch Activated Arm Flamethrowers (Real Firebending)

Project showcase by Allen Pan

  • 134,872 views
  • 86 comments
  • 962 respects

WW2 Tank Laser Tag Sherman & Panther

Project tutorial by Arduino “having11” Guy

  • 16,349 views
  • 1 comment
  • 57 respects

Arduino Laser Tripwire

Project tutorial by Ian Cumming

  • 14,612 views
  • 9 comments
  • 47 respects

Halloween Laser Maze

Project showcase by Sam Horne

  • 7,742 views
  • 6 comments
  • 21 respects
Add projectSign up / Login