Stap 5: Arduino Code
LiquidCrystal lcd(8,7,6,5,4,2); instellingsmodus LCD 4 bit
int pulse = 1; grootte pulslengte in microseconden
int de keuze; Selecteer laser pistool model type
int lastchoice = 0; laatste selectie keuze herinneren
int brand; trigger vuur knop
VOID Setup {}
LCD.begin(16,2); 16 x 2 LCD
analogWrite(10,90); voorgrond LCD
analogWrite(9,150); achtergrond LCD ~3.3 volt
LCD.Clear();
pinMode (13, OUTPUT); 940nM LED uitvoer (mimische 904nM laserdiode)
pinMode (11, INPUT); Setup trigger knop als input
}
void loop {}
Choice=analogRead(0); laser pistool model selectie van 10K pot leest
Choice=(int)(Choice/85.25); slechts 12 geldige keuzes, 11 kanonnen + stealth-modus
Als (keuze! = lastchoice) / / clear display alleen indien zij afwijkt
LCD.Clear();
lastchoice = keuze;
schakelen (naar keuze) {}
Case 0:
lcd.setCursor (0, 0);
LCD.Print ("Ultralyte Non-LR"); 100 pulsen per seconde
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(9999); 10MS
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
Case 1:
lcd.setCursor (0, 0);
LCD.Print ("Ultralyte Rev. 1"); 100pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(9999); 10MS
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
Case 2:
lcd.setCursor (0, 0);
LCD.Print ("Jenoptik LaserPL"); 100pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(9999); 10MS
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
Case 3:
lcd.setCursor (0, 0);
LCD.Print ("Kustom Prolaser3"); 200 pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(4999); 5ms
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
Case 4:
lcd.setCursor (0, 0);
LCD.Print ("Jenoptik Laveg"); 600pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(1666);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
Case 5:
lcd.setCursor (0, 0);
LCD.Print ("Kustom Prolaser1"); 380pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(2631);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
Case 6:
lcd.setCursor (0, 0);
LCD.Print ("Ultralyte Rev.2"); 125 pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(8000);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
Case 7:
lcd.setCursor (0, 0);
LCD.Print ("Stalker LZ-1"); 130pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(7691);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
zaak 8:
lcd.setCursor (0, 0);
LCD.Print ("Kustom Prolaser2"); 238pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(4201);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
Case 9:
lcd.setCursor (0, 0);
LCD.Print ("Laser Atlanta"); 238pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(4201);
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
zaak 10:
lcd.setCursor (0, 0);
LCD.Print ("Laser Atlanta"); 238pps stealth-modus
lcd.setCursor(0,1);
LCD.Print ("Stealth Mode"); 2 pulsen brand gevolgd door 5 ontbrekende pulsen
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor(12,1);
LCD.Print("Fire");
voor (int een = 1; een < = 2; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(4201);
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(12603); moet 6 vertragingen eenheden (4201 * 3)
delayMicroseconds(12603); (4201 * 3)
}
lcd.setCursor(12,1);
LCD.Print("");
}
breken;
zaak 11:
lcd.setCursor (0, 0);
LCD.Print ("Kustom ProLite"); 200 pps
Fire=digitalRead(11);
Als (brand == 0) {}
lcd.setCursor (0, 1);
LCD.Print("Fire");
voor (int een = 1; een < = 3; a ++) {}
digitalWrite (13, hoge);
delayMicroseconds(pulse);
digitalWrite (13, laag);
delayMicroseconds(4999); 5ms
}
lcd.setCursor (0, 1);
LCD.Print("");
}
breken;
}
}