Test Your Radar Detector or Laser Jammer With This Traffic Enforcement LIDAR Gun Simulator
Intro: Test Your Radar Detector or Laser Jammer With This Traffic Enforcement LIDAR Gun Simulator
This LIDAR gun simulator mimics eleven different traffic enforcement LIDAR guns. Each Lidar
gun operates at 904nM wavelength with short pulse bursts, some guns operate 100 pulses per second, some guns at 238 pulses per second, etc. The Laser Atlanta LIDAR guns offers a special stealth mode" to defeat early laser jammers by hiding some of the pulses and confusing their detection circuit. This simulator can reproduce the "stealth mode" to see if your equipment
is vulnerable. Only radar detectors that detect LIDAR threats are useful for testing, as this
only transmits light not radar.
The following is a list of LIDAR guns it can simulate:
Jenoptik Laveg
Jenoptik LaserPatrol
Kustom Prolaser 1
Kustom Prolaser 2
Kustom Prolaser 3
Kustom ProLite
Laser Atlanta
Stalker LZ-1
Ultralyte 100/200 LR Revision 1
Ultralyte 100/200 LR Revision 2
Ultralyte Non-LR
Parts required:
16x2 LCD (HD44780 compatible)
(purchased on ebay for $7.50) It helps to search as 1602 LCD.
940nM LED (close enough to 904nM) 1.5V voltage, 60mA continous
(purchased on ebay for $2.99 for ten)
Arduino board with 3.3V power available
(purchased on ebay for $21.59 Duino 328)
90 ohm resistor (or larger)
10K ohm resistor
10K ohm potentiometer
pushbutton
wires
gun operates at 904nM wavelength with short pulse bursts, some guns operate 100 pulses per second, some guns at 238 pulses per second, etc. The Laser Atlanta LIDAR guns offers a special stealth mode" to defeat early laser jammers by hiding some of the pulses and confusing their detection circuit. This simulator can reproduce the "stealth mode" to see if your equipment
is vulnerable. Only radar detectors that detect LIDAR threats are useful for testing, as this
only transmits light not radar.
The following is a list of LIDAR guns it can simulate:
Jenoptik Laveg
Jenoptik LaserPatrol
Kustom Prolaser 1
Kustom Prolaser 2
Kustom Prolaser 3
Kustom ProLite
Laser Atlanta
Stalker LZ-1
Ultralyte 100/200 LR Revision 1
Ultralyte 100/200 LR Revision 2
Ultralyte Non-LR
Parts required:
16x2 LCD (HD44780 compatible)
(purchased on ebay for $7.50) It helps to search as 1602 LCD.
940nM LED (close enough to 904nM) 1.5V voltage, 60mA continous
(purchased on ebay for $2.99 for ten)
Arduino board with 3.3V power available
(purchased on ebay for $21.59 Duino 328)
90 ohm resistor (or larger)
10K ohm resistor
10K ohm potentiometer
pushbutton
wires
STEP 1: Schematics, LCD
The schematics are broken into four segments. I suggest wiring the LCD first and make sure that works before continuing on, as this makes troubleshooting much easier.
STEP 2: Schematic
Next wire up the 10K ohm Potentiometer, one lead goes to ground, the other lead to AREF (+5V), and the middle lead (selector) to analog pin 0 on the arduino. This pot will allow you to make your selection of twelve lidar guns -- one of them is the same gun but with stealth mode activated.
STEP 3: Schematic LED
Next wire in your 904nM LED. Take note that one lead is shorter, this lead must go to ground. The other longer lead goes to the 90 ohm resistor. And finally the last lead of the resistor goes to arduino digital output pin 13.
STEP 4: Schematic Push Button
Next we wire in your push button, one lead goes to ground, and the other lead goes to arduino digital input pin 11. The 10Kohm resistor is necessary so stray signals don't accidentally fire on pin 11 so attach the resistor to 5 volts. If you haven't guess it yet, but the push button is the trigger button to activate your simulated LIDAR gun.
STEP 5: Arduino Code
#include
LiquidCrystal lcd(8,7,6,5,4,2); // setup LCD 4 bit mode
int pulse=1; // pulse size length in microseconds
int choice; // select laser gun model type
int lastchoice=0; // recall last selection choice
int fire; // trigger fire button
void setup() {
lcd.begin(16,2); // 16x2 LCD
analogWrite(10,90); // foreground LCD
analogWrite(9,150); // background LCD ~3.3 volts
lcd.clear();
pinMode(13, OUTPUT); // 940nM LED output (mimic 904nM laser diode)
pinMode(11, INPUT); // setup trigger button as input
}
void loop() {
choice=analogRead(0); // read laser gun model selection from 10K pot
choice=(int)(choice/85.25); // only 12 valid choices, 11 guns + stealth mode
if (choice != lastchoice) // clear display only if it's different
lcd.clear();
lastchoice=choice;
switch (choice) {
case 0:
lcd.setCursor(0, 0);
lcd.print("Ultralyte Non-LR"); // 100 pulses per second
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(9999); // 10ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 1:
lcd.setCursor(0, 0);
lcd.print("Ultralyte Rev.1"); // 100pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(9999); // 10ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 2:
lcd.setCursor(0, 0);
lcd.print("Jenoptik LaserPL"); // 100pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(9999); // 10ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 3:
lcd.setCursor(0, 0);
lcd.print("Kustom Prolaser3"); // 200 pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4999); // 5ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 4:
lcd.setCursor(0, 0);
lcd.print("Jenoptik Laveg"); // 600pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(1666);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 5:
lcd.setCursor(0, 0);
lcd.print("Kustom Prolaser1"); // 380pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(2631);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 6:
lcd.setCursor(0, 0);
lcd.print("Ultralyte Rev.2"); // 125 pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(8000);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 7:
lcd.setCursor(0, 0);
lcd.print("Stalker LZ-1"); // 130pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(7691);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 8:
lcd.setCursor(0, 0);
lcd.print("Kustom Prolaser2"); // 238pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4201);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 9:
lcd.setCursor(0, 0);
lcd.print("Laser Atlanta"); // 238pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4201);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 10:
lcd.setCursor(0, 0);
lcd.print("Laser Atlanta"); // 238pps stealth mode
lcd.setCursor(0,1);
lcd.print("Stealth Mode"); // 2 pulses fire followed by 5 missing pulses
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(12,1);
lcd.print("Fire");
for (int a=1; a<=2; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4201);
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(12603); // need 6 delays units (4201*3)
delayMicroseconds(12603); // (4201*3)
}
lcd.setCursor(12,1);
lcd.print(" ");
}
break;
case 11:
lcd.setCursor(0, 0);
lcd.print("Kustom ProLite"); // 200 pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4999); // 5ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
}
}
LiquidCrystal lcd(8,7,6,5,4,2); // setup LCD 4 bit mode
int pulse=1; // pulse size length in microseconds
int choice; // select laser gun model type
int lastchoice=0; // recall last selection choice
int fire; // trigger fire button
void setup() {
lcd.begin(16,2); // 16x2 LCD
analogWrite(10,90); // foreground LCD
analogWrite(9,150); // background LCD ~3.3 volts
lcd.clear();
pinMode(13, OUTPUT); // 940nM LED output (mimic 904nM laser diode)
pinMode(11, INPUT); // setup trigger button as input
}
void loop() {
choice=analogRead(0); // read laser gun model selection from 10K pot
choice=(int)(choice/85.25); // only 12 valid choices, 11 guns + stealth mode
if (choice != lastchoice) // clear display only if it's different
lcd.clear();
lastchoice=choice;
switch (choice) {
case 0:
lcd.setCursor(0, 0);
lcd.print("Ultralyte Non-LR"); // 100 pulses per second
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(9999); // 10ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 1:
lcd.setCursor(0, 0);
lcd.print("Ultralyte Rev.1"); // 100pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(9999); // 10ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 2:
lcd.setCursor(0, 0);
lcd.print("Jenoptik LaserPL"); // 100pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(9999); // 10ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 3:
lcd.setCursor(0, 0);
lcd.print("Kustom Prolaser3"); // 200 pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4999); // 5ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 4:
lcd.setCursor(0, 0);
lcd.print("Jenoptik Laveg"); // 600pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(1666);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 5:
lcd.setCursor(0, 0);
lcd.print("Kustom Prolaser1"); // 380pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(2631);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 6:
lcd.setCursor(0, 0);
lcd.print("Ultralyte Rev.2"); // 125 pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(8000);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 7:
lcd.setCursor(0, 0);
lcd.print("Stalker LZ-1"); // 130pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(7691);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 8:
lcd.setCursor(0, 0);
lcd.print("Kustom Prolaser2"); // 238pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4201);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 9:
lcd.setCursor(0, 0);
lcd.print("Laser Atlanta"); // 238pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4201);
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
case 10:
lcd.setCursor(0, 0);
lcd.print("Laser Atlanta"); // 238pps stealth mode
lcd.setCursor(0,1);
lcd.print("Stealth Mode"); // 2 pulses fire followed by 5 missing pulses
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(12,1);
lcd.print("Fire");
for (int a=1; a<=2; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4201);
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(12603); // need 6 delays units (4201*3)
delayMicroseconds(12603); // (4201*3)
}
lcd.setCursor(12,1);
lcd.print(" ");
}
break;
case 11:
lcd.setCursor(0, 0);
lcd.print("Kustom ProLite"); // 200 pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(0, 1);
lcd.print("Fire");
for (int a=1; a<=3; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4999); // 5ms
}
lcd.setCursor(0, 1);
lcd.print(" ");
}
break;
}
}
STEP 6: Conclusion
With this project I was able to determine how effective my old LP904 laser jammer is at detecting all these LIDAR guns. It could detect all LIDAR guns except Laser Atlanta in stealth mode, Jenoptik Laveg, and Jenoptik LaserPatrol. The last two guns are non-USA so that doesn't surprise me at all.
If you purchase a photodiode or phototransistor that operates close to 904nM and count the number of pulses and measure the time between the pulses you could make your own LIDAR detector using an arduino. That might be a cool project to add on next.
If you purchase a photodiode or phototransistor that operates close to 904nM and count the number of pulses and measure the time between the pulses you could make your own LIDAR detector using an arduino. That might be a cool project to add on next.
15 Comments
Kenjy AitcA 5 years ago
Can this setup be used as a Laser Jammer ?
stnky1 6 years ago
Got this working. I modified the code a bit to remove some of the redundant frequencies so that I could add a few more different models and I also lengthened the "fire" command so it stayed on longer without disrupting the pulses. I also modified the frequencies to match with the counter on my cheap meter. (It may be different for you.) Here is what I came up with:
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,7,6,5,4,2); // setup LCD 4 bit mode
int pulse=1; // pulse size length in microseconds
int choice; // select laser gun model type
int lastchoice=0; // recall last selection choice
int fire; // trigger fire button
void setup() {
lcd.begin(16,2); // 16x2 LCD
analogWrite(10,90); // foreground LCD
analogWrite(9,150); // background LCD ~3.3 volts
lcd.clear();
pinMode(13, OUTPUT); // 940nM LED output (mimic 904nM laser diode)
pinMode(11, INPUT); // setup trigger button as input
}
void loop() {
choice=analogRead(0); // read laser gun model selection from 10K pot
choice=(int)(choice/85.25); // only 12 valid choices, 11 guns + stealth mode
if (choice != lastchoice) // clear display only if it's different
lcd.clear();
lastchoice=choice;
switch (choice) {
case 0:
lcd.setCursor(0, 0);
lcd.print("Ultralyte Non-LR");
lcd.setCursor(0,1);
lcd.print("/Rev.1 100Hz"); // 100pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(12, 1);
lcd.print("Fire");
for (int a=1; a<=200; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(9918); // 10ms
}
lcd.setCursor(12, 1);
lcd.print(" ");
}
break;
case 1:
lcd.setCursor(0, 0);
lcd.print("Ultralyte Rev.2");
lcd.setCursor(0,1);
lcd.print("125Hz"); // 125pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(6, 1);
lcd.print("Fire");
for (int a=1; a<=250; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(7932);
}
lcd.setCursor(6, 1);
lcd.print(" ");
}
break;
case 2:
lcd.setCursor(0, 0);
lcd.print("Stalker LZ-1/LR");
lcd.setCursor(0,1);
lcd.print("130Hz"); // 130pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(6, 1);
lcd.print("Fire");
for (int a=1; a<=260; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(7627);
}
lcd.setCursor(6, 1);
lcd.print(" ");
}
break;
case 3:
lcd.setCursor(0, 0);
lcd.print("Riegl");
lcd.setCursor(0,1);
lcd.print("160Hz"); // 160pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(6, 1);
lcd.print("Fire");
for (int a=1; a<=320; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(6195);
}
lcd.setCursor(6, 1);
lcd.print(" ");
}
break;
case 4:
lcd.setCursor(0, 0);
lcd.print("Laser Ally");
lcd.setCursor(0,1);
lcd.print("185.12Hz"); // 185.12pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(10, 1);
lcd.print("Fire");
for (int a=1; a<=370; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(5352);
}
lcd.setCursor(10, 1);
lcd.print(" ");
}
break;
case 5:
lcd.setCursor(0, 0);
lcd.print("Kustom Pro 3/4");
lcd.setCursor(0,1);
lcd.print("/Lite 200Hz"); // 200pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(12, 1);
lcd.print("Fire");
for (int a=1; a<=400; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4953); // 5ms
}
lcd.setCursor(12, 1);
lcd.print(" ");
}
break;
case 6:
lcd.setCursor(0, 0);
lcd.print("LTI TruSpeed");
lcd.setCursor(0,1);
lcd.print("200.3Hz"); // 200.3pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(9, 1);
lcd.print("Fire");
for (int a=1; a<=400; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4946);
}
lcd.setCursor(9, 1);
lcd.print(" ");
}
break;
case 7:
lcd.setCursor(0, 0);
lcd.print("Laser Atlanta");
lcd.setCursor(0,1);
lcd.print("Pro2 238.4Hz"); // 238.4pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(12, 1);
lcd.print("Fire");
for (int a=1; a<=476; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4154);
}
lcd.setCursor(12, 1);
lcd.print(" ");
}
break;
case 8:
lcd.setCursor(0, 0);
lcd.print("Laser Atlanta"); // 238.4pps/68.1pps stealth mode
lcd.setCursor(0,1);
lcd.print("Stealth Mode"); // 2 pulses fire followed by 5 missing pulses
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(12,1);
lcd.print("Fire");
for (int a=1; a<=68; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(4154);
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(12462); // need 6 delays units (4154*3)
delayMicroseconds(12462); // (4154*3)
}
lcd.setCursor(12,1);
lcd.print(" ");
}
break;
case 9:
lcd.setCursor(0, 0);
lcd.print("Kustom Prolaser1");
lcd.setCursor(0,1);
lcd.print("381.5Hz"); // 381.5pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(9, 1);
lcd.print("Fire");
for (int a=1; a<=763; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(2591);
}
lcd.setCursor(9, 1);
lcd.print(" ");
}
break;
case 10:
lcd.setCursor(0, 0);
lcd.print("Jenoptik Laveg");
lcd.setCursor(0,1);
lcd.print("600Hz"); // 600pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(6, 1);
lcd.print("Fire");
for (int a=1; a<=1200; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(1642);
}
lcd.setCursor(6, 1);
lcd.print(" ");
}
break;
case 11:
lcd.setCursor(0, 0);
lcd.print("NJL SCS 102");
lcd.setCursor(0,1);
lcd.print("3200Hz"); // 3200pps
fire=digitalRead(11);
if (fire==0) {
lcd.setCursor(7, 1);
lcd.print("Fire");
for (int a=1; a<=6400; a++) {
digitalWrite(13, HIGH);
delayMicroseconds(pulse);
digitalWrite(13, LOW);
delayMicroseconds(299);
}
lcd.setCursor(7, 1);
lcd.print(" ");
}
break;
}
}
hakk3r 7 years ago
Nice job. Been looking for something like this for awhile. Can't wait to try it out. Looks like you're code is missing the #include <LiquidCrystal.h>.
BTW. Don't know what the other commenters are complaining about. Obviously they didn't get what you're trying to accomplish.
Stephen D. Alverez 14 years ago
I
V
O
T
E
D
laserjammersuk 7 years ago
Unless good at electronics maybe not!.
diverdan363 8 years ago
https://www.youtube.com/watch?v=jEQrbkwwuDQ
laserjammersuk 7 years ago
Beware, most or maybe all AL, LI, RB-905 Snooper, Stinger Laser Jammer Testers Emit a Crude DC damaging signal. See videos on you tube from a Limey dude . Theses garbage $60 devices have Destroyed very many expensive Jammers. The instruct able signal I have seen on scope and is superior and safer by far, so make it
laserjammersuk 7 years ago
That's me below with a new username. I now only use a 75 Watt laser. My Video channel ran for 9 Years,120+ helpful Videos, stolen by a RD Forum Liars.
handymandavebritain 7 years ago
NathanM53 8 years ago
handymandavebritain 9 years ago
I also simplified the sketch and had it running constantly, routed through my Oscilloscope. You Tube Video Paste into a tab and remove the gap. https ://www.youtube.com/watch?v=6WHEWhlFutk&list=PLwRovs-f9TKBxck-D6biGlblEiSj4ExIN&index=1
pchua 11 years ago
Stephen D. Alverez 14 years ago
G-Zona 14 years ago
The police officer will aim to your headlight when you don't have front LP, cause it's the most reflective surface.
There are more videos on youtube, or you may google using laser jammer video as keyword.
gentry 14 years ago