Testa din radar detektor eller laser jammer med denna trafik verkställighet LIDAR pistolen simulator (5 / 6 steg)
Steg 5: Arduino kod
LiquidCrystal lcd(8,7,6,5,4,2); installationsläge LCD 4 bitar
int puls = 1; puls storlek längd i mikrosekunder
int val; Välj typ av laser pistol modell
int lastchoice = 0; minns sista val val
int eld; trigger fire-knappen
void setup() {
LCD.BEGIN(16,2); 16 x 2 LCD
analogWrite(10,90); förgrunden LCD
analogWrite(9,150); bakgrund LCD ~3.3 volt
LCD.Clear();
pinMode (13, OUTPUT); 940nM LED utgång (härma 904nM laser diode)
pinMode (11, ingång); setup trigger knappen som indata
}
void loop() {
Choice=analogRead(0); Läs val av laser pistol modell från 10K pott
Choice=(int)(Choice/85.25); endast 12 giltiga val, 11 guns + stealth-läge
om (val! = lastchoice) / / rensa displayen endast om det är olika
LCD.Clear();
lastchoice = val;
Växla (val) {
fall 0:
lcd.setCursor (0, 0);
LCD.Print ("Ultralyte icke-LR"); 100 pulser per sekund
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(9999); 10ms
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
fall 1:
lcd.setCursor (0, 0);
LCD.Print ("Ultralyte rev. 1"); 100PPS
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(9999); 10ms
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
fall 2:
lcd.setCursor (0, 0);
LCD.Print ("Jenoptik LaserPL"); 100PPS
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(9999); 10ms
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
fall 3:
lcd.setCursor (0, 0);
LCD.Print ("Kustom Prolaser3"); 200 pps
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(4999); 5ms
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
fall 4:
lcd.setCursor (0, 0);
LCD.Print ("Jenoptik Laveg"); 600pps
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(1666);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
fall 5:
lcd.setCursor (0, 0);
LCD.Print ("Kustom Prolaser1"); 380pps
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(2631);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
fall 6:
lcd.setCursor (0, 0);
LCD.Print ("Ultralyte rev. 2"); 125 pps
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(8000);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
fall 7:
lcd.setCursor (0, 0);
LCD.Print ("Stalker LZ-1"); 130pps
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(7691);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
mål 8:
lcd.setCursor (0, 0);
LCD.Print ("Kustom Prolaser2"); 238pps
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(4201);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
mål 9:
lcd.setCursor (0, 0);
LCD.Print ("Laser Atlanta"); 238pps
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(4201);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
mål 10:
lcd.setCursor (0, 0);
LCD.Print ("Laser Atlanta"); 238pps stealth-läge
lcd.setCursor(0,1);
LCD.Print ("Stealth Mode"); 2 pulser eld följt av 5 saknas pulser
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor(12,1);
LCD.Print("Fire");
för (int en = 1; en < = 2; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(4201);
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(12603); behöver 6 förseningar enheter (4201 * 3)
delayMicroseconds(12603); (4201 * 3)
}
lcd.setCursor(12,1);
LCD.Print("");
}
bryta;
mål 11:
lcd.setCursor (0, 0);
LCD.Print ("Kustom ProLite"); 200 pps
Fire=digitalRead(11);
om (brand == 0) {
lcd.setCursor (0, 1);
LCD.Print("Fire");
för (int en = 1; en < = 3; a ++) {
digitalWrite 13, hög.
delayMicroseconds(pulse);
digitalWrite 13, låg.
delayMicroseconds(4999); 5ms
}
lcd.setCursor (0, 1);
LCD.Print("");
}
bryta;
}
}