Introduction: Anti-Night Vision Device ¡¡¡CAUTION, NOT SAFE FOR EPILEPTIC OR SEIZURE PRONE INDIVIDUALS!!!

Have you ever been concerned about how many Instructables about making DIY Night Vision there are, and yet there are no Anti-Night Vision Instructables? How many DIY Drone tutorials are there, but no anti-Drones? How do we protect ourselves and our privacy from the proliferation of these new tools that have serious ethical implications.

What we are making today is a device which will disable augmented vision technologies. Infrared light is an illuminator for many visual augmentation systems. Thi device senses infrared light and triggers a very bright flashing visible light at a frequency which will induce confusion, disorientation, and nausea in the user (NOTE: this feature has undergone minor testing with mixed results).

We are going to build this in a series of steps, making and testing each component individually before integrating the whole system. There are three major components which we will connect together.
1) an Ambient Light Sensor
2) an Infrared Sensor
3) a High Power LED Flashing Circuit

Basic Arduino and Electronics skills will be useful.

Parts Needed:

- Arduino (any variety will work but we're using an Uno in this tutorial)

- Breadboard

- IR photoTransistor

- Power LED's

- photo resistor

- Several 10 ohm Resistors (or one 1 watt 2-4 ohm)

- 1x 10k

- 1x 100k

- 1x 2.2k

- 1x TIP120 transistor

- 1x LM317 Adjustable Regulator

- some sort of Power if you're going to deploy/make it mobile (ie. 9v battery and connector)

- Some source of IR light for testing (Candle, Lighter, Night Vision, Remote Control, etc)

Step 1: Ambient Light Sensor

This is a very simple part to start off with. It will sense the ambient light levels to see if the IR sensors will be activated. We will build a voltage divider with a Light Sensitive Resistor (LDR from here on out).

Reference the Schematic and images attached above

Attach the LDR between the Power Bus (+5v) and an empty row on the breadboard. Connect a 10k resistor between that row and ground. Then connect that row to Analog Pin 3. This will be our input pin in our code.

int brightnessPin = 3;
int brightness;
void setup() {
      Serial.begin(9600);
}
void loop() {
    brightness = analogRead(brightnessPin);
    Serial.print(“Ambient Light: “);
    Serial.println(brightness);
    delay(10);
}

This code will do an Analog Read and print it out in the Serial Monitor, it will give a sense of where we want your triggers to be. Turn off all the lights and look at the what the brightness value is. The number should get smaller as it gets darker. In my setup, I chose a value of 300 as the point to engage the IR sensors. Your number will be different. Write the range down. I got a range of ~100 with my lights off and 600 with the lights on.

Step 2: IR Sensor

The next step is to setup the Infra-red Sensors. We are using IR sensitive phototransistors. This is what is in your TV to sense remove control signals (this device can be triggered via remote control too!) or any IR communication technologies.

Reference the Schematic and images attached above

The IR sensors work similarly to the LDR, but HOW they actually work is completely different. (LINK: how do IR phototransistors work?) We'll wire them similarly. On the device there should be a flat side just like on an LED. That is our negative side. Connect the positive side to power and the negative side to a row on the breadboard and a 100k resistor to ground from that empty row. That row connects to Analog Pin 2.

int IRsensorPin = 2;
int IRsense = 0;
void setup() {
    Serial.begin(9600);
}
void loop() {
    IRsense = analogRead(IRsensorPin);
    Serial.print(“IR: “);
    Serial.println(IRsense);
    delay(10);
}

Turn off all the lights and flash some infrared light at the sensor, see what the values drop down to. Find their lowest point and add 10-20 to it. Write the range down. My sensors read 20 with the lights off and 1000 with full IR illumination.

Step 3: Combine the Sensors and Test

Next we will combine these two things we have connected to create a more intelligent interaction. We want to IR sensing to start when the Ambient Light Sensor falls below it's median value, lets say 300. And we want the IR to trigger when it rises above its low value, lets say 80, to give it a little wiggle room.

int led = 13; //We’re using the built in LED as a test
int IRsensorPin = 2; //Infrared Sensor Pin
int IRsense = 0; //IR Sensor Value
int brightnessPin = 3; //Ambient Brightness Pin
int brightness; //Ambient Light Value
float period; //Storing our Pulse Width Period
float hertz = 9; //Frequency of the flashing
float width = 0.2; //The PWM of our Flashing
float onTime, offTime; //Holders for actual Delay Times
void setup() {
    pinMode(led, OUTPUT); //Set Power LED as OUTPUT
    Serial.begin(9600); //Start Serial
    period = (1/hertz)*1000; //convert Hertz into millisecond delay times
    onTime = period * width; //calculate On time
    offTime = period * abs(1-width); //calculate Off time
}

void loop() {
    brightness = analogRead(brightnessPin); //Read ambient light level
   // Serial.print(“B: “); Serial.println(brightness); //print out value for DEBUG
    if(brightness < 300) { //start IR sensing IF ambient light level is below this level
        IRsense = analogRead(IRsensorPin); //Read IR sensor
       // Serial.print(“IR: “); Serial.println(IRsense); //print out value for DEBUG
        if(IRsense > 80) { //if Infrared sensor detects IR light
            vertigo(); //Flash Light
        } 
        else digitalWrite(led, LOW); //if not, keep LED OFF
    }
}

void vertigo() { //Flash LED
bool flashing = 1; //a holder for the state of the flashing (true or false) while(flashing == 1) { //if flashing is TRUE //Flash LED at pre-determined rate digitalWrite(led, HIGH); delay(onTime); digitalWrite(led, LOW); delay(offTime); if(analogRead(brightnessPin) < 300) flashing = 1; //if ambient light levels rise (ie. you turn on a light) turn Flashing to FALSE else flashing = 0; //if they don't...keep on flashing } }

Try it out! Get an IR light source (night vision, remote, IR LED, candle...etc), turn off the lights and try shining it on the sensor. Watch the Serial monitors to make sure everything is triggering OK, adjust values as needed.

Step 4: Illumination

The next step is to add some powerful LED’s to make this flashing actually effective. The flashing effect is called Flicker Vertigo and is “an imbalance in brain-cell activity caused by exposure to low-frequency flickering (or flashing) of a relatively bright light.”

We are using Power LED’s , which have to be treated slightly differently from a normal LED becasu they operate at much higher currents. There are plenty of great Instructables about them. For the scope of this project, we’re going to keep it as simple as possible. The Arduino isn’t able to supply enough current to drive a power LED directly, so we have to use an external power supply of some sort and a transistor to switch it. It is similar to working with motors. Also, because these LEDs are very sensitive to minute changes in voltage, so it is best to drive them using a Constant Current driver, which we are going to build.

Reference the Schematic and images attached above


The Base of the TIP120 is connected to PIN 9 on the Arduino thru a 2.2k resistor to limit the current. The Emitter is connected to Ground and the Collector is connected to the negative side of the LED. The TIP120 acts as a switch by interrupting the connection to Ground. The LM317’s INPUT pin is connected to +9 volts (or whatever battery you’re using). The OUTPUT pin is connected to the ADJUST pin through a Current Sense Resistor. This is the control mechanism here. The value of that resistor dictates the amount of current the LM317 allows through it. The calculation is: R(esistance) = 1.25(voltageReference)/I(current in Amps). If we want 500mA, which is a good amount of current for these LED’s, the resistance would be 1.25/0.5, or 2.5 ohms. This is a great article on the LM317 as a constant current source with math for heat dissipation too. We’ll be using 4 1/4W 10 Ohm resistors in parallel, which will give us 2.5 Ohms because of this.
Make sure the Base of TIP120 is connected to PIN 9, and the led variable is set to 9 and then test the device again. It should be very unpleasant. Remember, all you have to do is turn the lights on to turn it off! Just make sure you remember where the light switch is.
This is the final code:

int led = 9; //HIGH power LED output
int IRsensorPin = 2; //Infrared Sensor Pin
int IRsense = 0; //IR Sensor Value
int brightnessPin = 3; //Ambient Brightness Pin
int brightness; //Ambient Light Value
float period; //Storing our Pulse Width Period
float hertz = 9; //Frequency of the flashing
float width = 0.2; //The PWM of our Flashing
float onTime, offTime; //Holders for actual Delay Times
void setup() {
    pinMode(led, OUTPUT); //Set Power LED as OUTPUT
    Serial.begin(9600); //Start Serial
    period = (1/hertz)*1000; //convert Hertz into millisecond delay times
    onTime = period * width; //calculate On time
    offTime = period * abs(1-width); //calculate Off time
}

void loop() {
    brightness = analogRead(brightnessPin); //Read ambient light level
   // Serial.print(“B: “); Serial.println(brightness); //print out value for DEBUG
    if(brightness < 300) { //start IR sensing IF ambient light level is below this level
        IRsense = analogRead(IRsensorPin); //Read IR sensor
       // Serial.print(“IR: “); Serial.println(IRsense); //print out value for DEBUG
        if(IRsense > 80) { //if Infrared sensor detects IR light
            vertigo(); //Flash Light
        } 
        else digitalWrite(led, LOW); //if not, keep LED OFF
    }
}

void vertigo() { //Flash LED
bool flashing = 1; //a holder for the state of the flashing (true or false) while(flashing == 1) { //if flashing is TRUE //Flash LED at pre-determined rate digitalWrite(led, HIGH); delay(onTime); digitalWrite(led, LOW); delay(offTime); if(analogRead(brightnessPin) < 300) flashing = 1; //if ambient light levels rise (ie. you turn on a light) turn Flashing to FALSE else flashing = 0; //if they don't...keep on flashing } }

Step 5: Put It in a Cool Housing

This is my project housed in a McDonalds fry container. I used a 4 LED's instead of just 1 or 2 for more brightness. You can scale this project up as far as you want. I also used multiple IR sensors for detection in multiple directions.

Here is a janky cell phone video of it working.

VID_20150308_161414.mp4 from Kina Smith on Vimeo.

Comments

author
l8nite made it! (author)2016-12-18

way outside my skill levels(being color blkind and electronics arent a good mix) but totally awesome idea and build

author
NateC12 made it! (author)2015-11-07

Don't use LEDs. Normal LEDs will burn out the tube, so you should use IR LEDs.

author
TheHabman made it! (author)2015-03-17

IR or Available light NV isn't what you need to be worrying about. All the good stuff uses thermal now a days which is totally unaffected by either lights or IR LEDs

author
a2e made it! (author)a2e2015-04-16

Thermal image is anywhere from ten to twenty times more expensive to implement so you won't be expecting them in every environment [single camera starting at USD$2k], it also is super-low resolution, far from megapixel resolution and it is expected to remain that way until 2020, so it is only used to trigger direct action and not suitable for recognition [you only a silhouette]. The technology described here is very effective to achieve anonymity, especially if implementing alongside IR emitters and a mutivibrator, as some really smart users have pointed out in the comments.

If you want to mess with thermal imaging the easy way is by lining carbon tape over clothes or a cap.

author
turbiny made it! (author)2015-03-12

I've had similar idea for long time but insted of LED use IR so it can be used day and night and never be seen on cctv cameras
Nice ible by the way is there a way around the arduino? Still to expensive for me in my country.

author
PiotrS made it! (author)PiotrS2015-03-12

Check this out it is an arduino clone for only 3 $ aliexpress is the best for getting cheap electronics http://www.aliexpress.com/item/-/1986980366.html

author
turbiny made it! (author)turbiny2015-03-20

thnx just ordered it

author
Victor805 made it! (author)Victor8052015-03-13

Alternatively you can use an astable multivibrator, you might need to make some changes if you plan to use high power LEDs, like adding two more transistors and resistors to the outputs of the existing ones, the new transistors will solely act like switches and should be able to handle more current. It'll will do exactly the same, it will also be much cheaper and smaller than using an arduino, but designing the circuit can be a bit tricky.

author
Gregbot made it! (author)2015-03-18

Sweet!!!

author
Mi cha el made it! (author)2015-03-17

Thank you for this instructable. We all hear about the why and the how of ubergovernment; but sources on ways to fight back are scarce. Thanks again.

author
ofir60 made it! (author)2015-03-16

Why is it white LED light? what's the point of that?

A night vision is using an infrared light, so you can simply dazzle them with an array of infared leds, I think it would be much more effective blocking the view.

But only real testing will prove the truth.

author
starphire made it! (author)2015-03-15

How about using high power IR LEDs instead of ones that emit in visible wavelengths? That would (even more effectively) blind the night vision device while not affecting real people at all. Just a thought. IR LEDs are not as easy to find at popular sites that cater to hobbyists, but they do exist.

author
dougstrickland made it! (author)dougstrickland2015-03-15

I was wondering about that too. You can find IR LED's pretty easily too, here's one at Sparkfun that would swap in..

https://www.sparkfun.com/products/9349

author
JohnnyMorales made it! (author)JohnnyMorales2015-03-16

those are infrared LEDs but you have to watch the video to know that ;)

author
starphire made it! (author)starphire2015-03-16

The author's video? The one that shows visible white LEDs being used when the night vision device is removed? If they *were* infrared, then the author wouldn't have to warn people about epileptic reactions since humans wouldn't even see the LEDs flashing.

author
alcurb made it! (author)2015-03-16

Interesting idea. Got a question:

What did you use for the spreader lenses? Did you make those yourself out of suction cups?

author
a.steidl made it! (author)2015-03-16

That same remote (TV, BD, DVR) used to test the device could inadvertently set it off, no?

author
AviationMetalSmith made it! (author)2015-03-16

There is a setting on LED Bicycle Tail Lights, that does the same thing.

author
IamTheMomo made it! (author)2015-03-15

The word you needed is "epileptic", not "epliptic". If there are words you don't know how to spell, try typing them into a Google search field and you'll find what you need. Unless you're running from the police or our government has been taken over by a foreign power, why would anyone need an anti-night-vision device? Do you really foresee that happening?

author
JIM5349 made it! (author)JIM53492015-03-15

You no longer have run from government, it is there already. And no I believe that we will not be taken over by a foreign power, it will be from within, and is already here. Go back and re-read 1984, by George Orwell. There are many in this country who believe they are free, okay, go that way if you want, however, remember

If you want total security, go to prison. There you're fed, clothed, given medical care and so on. The only thing lacking... is freedom.

Dwight D. Eisenhower

enjoy your security

author
a.steidl made it! (author)a.steidl2015-03-16

I think you're right. We know where to find security, but where exactly is freedom anymore?

author
heavyweather made it! (author)heavyweather2015-03-15

Next time you try posting read the 6 white letters in the yellow circle leftish under the reply field ^^

author
jasondev made it! (author)jasondev2015-03-16

+1 :)

author
Kierana made it! (author)Kierana2015-03-15

Do you really foresee only the police or our government using night vision equipment for the purpose of protecting their people? Is it not only possible but probable that the criminal element of our society will find many uses for it? Quite honestly, I don't trust the authorities to use them ethically at all times.

author
jaroot made it! (author)2015-03-15

Great instructable!

I guess it could be a problem if you are "epileptic" or "epliptic" That's the great thing about comments you don't need to look words up, someone with correct your spelling and grammar.

The police and the government aren't the only people who have night vision devices. And as our society moves closer to a socialist police state, I'm referring to the US, it may well become necessary to have a device like this.

author
WORMSS made it! (author)WORMSS2015-03-16

someone will* correct your spelling and grammar.

I am sorry, I couldn't resist. (I do mean this in a giggle type of way).

author
jaroot made it! (author)jaroot2015-03-16

LOL!!

author
JohnnyMorales made it! (author)2015-03-16

very cool!

author
fixfireleo made it! (author)2015-03-15

ummm, just one question...people use night vision to find people hiding in the dark, sooooo....if you are using bright, flashing, visable light to confuse the night vision, arent you sorta giving yourself away anyway? it's not like a sniper couldnt figure out where the target is when he sees you light up by strobes.

author
dougstrickland made it! (author)dougstrickland2015-03-15

I think the goal is not to hide one's existence, rather to hide one's identity.

author
pat219 made it! (author)2015-03-15

Have seen a baseball cap with LED in that hid's your face at night and day time just use the peak over the face But if you have nothing to hid why sneak about it can be a good thing to say look this is why was and not hurting someone else where

author
Lazy Glen made it! (author)Lazy Glen2015-03-15

The whole "if you have nothing to hide, what are you worried about" argument just makes me mad. If you have nothing to hide, just post your password list.

1)The bad guys have night vision capabilities as well.

2)The 'good' guys make mistakes and raid the wrong address often enough that it is no longer really a surprise when it happens.

3)The 'good' guys sometimes get bad intelligence, either honestly, or because someone has a ax to grind.

4) (Not really applicable in this case - more so regarding wholesale monitoring of email.) If it isn't illegal, why are you worried about it cuts both ways - If it isn't illegal, why keep it such a secret that you were monitoring everyone's email? The bad guys KNOW they are being monitored.

I like the circuit, seems like it could be done without the Arduino in a smaller form factor with a few discrete components. Like the 555 I think you mentioned, with maybe a couple latches.

Glen

author
kinasmith made it! (author)kinasmith2015-03-15

Yep, it could be done with a couple 555's without much trouble. Could also be done with a tiny85 to bring costs down. Fork it! Make more!

author
DurocShark made it! (author)2015-03-15

Maybe tie it to a siren too and it would act as an alarm when a NV wearing intruder enters your home?

author
Colvix made it! (author)Colvix2015-03-15

Those are Infrared Light .... you cant see it with the naked eye , you need a camera just to know there are IR (infrared) Light ... :)

author
akr7 made it! (author)akr72015-03-15

You wouldn't want to set off a siren when you tried to change the channel :)

author
DurocShark made it! (author)DurocShark2015-03-15

Well, you'd put it in a hallway or something, not somewhere that the remote is pointing. ;)

author
ajc3579 made it! (author)2015-03-15

How big of a signature does it make or does it work anytime its in the frame of a camera? Nice idea!

author
technosasquatch made it! (author)2015-03-12

I'm lovin' it

author
tomatoskins made it! (author)tomatoskins2015-03-13

+1

author
Tater Zoid made it! (author)2015-03-12

Clever.

author
monkeyracing made it! (author)2015-03-12

Add some powerful IR and UV LEDs as well! Cover the spectrum! CRUSH EM ALL!

About This Instructable

50,193views

337favorites

License:

More by kinasmith:How to Mill a circuit board with a Stepcraft Mill and EagleCADMake a Tool Length sensor for Stepcraft 2 CNCCompost Sensor
Add instructable to: