Created
August 28, 2016 11:35
-
-
Save olymk2/2c58ddef22832152eb716ba5b3705789 to your computer and use it in GitHub Desktop.
Current code for laser tag recharge cycle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Blink | |
Turns on an LED on for one second, then off for one second, repeatedly. | |
This example code is in the public domain. | |
*/ | |
// Pin 13 has an LED connected on most Arduino boards. | |
// give it a name: | |
int ir_led = 4; | |
int rgb_led = 3; | |
int buzzer = 2; | |
int trigger = 5; | |
int buttonState = 0; | |
// the setup routine runs once when you press reset: | |
void setup() { | |
// ouputs | |
pinMode(rgb_led, OUTPUT); | |
pinMode(ir_led, OUTPUT); | |
pinMode(buzzer, OUTPUT); | |
//inputs initial state | |
pinMode(trigger, INPUT); | |
analogWrite(rgb_led, 255); | |
digitalWrite(ir_led, LOW); | |
} | |
void recharge_simple(float multiplier) { | |
float steps; | |
steps = 1; | |
float ledIntensity = 0; | |
for (int waveDelay = 100; waveDelay < 20000; waveDelay = waveDelay + (int) steps) { | |
analogWrite(rgb_led, (int) ledIntensity); | |
analogWrite(buzzer, 255); //positive square wave | |
delayMicroseconds(waveDelay); //192uS | |
analogWrite(buzzer, 0); //neutral square wave | |
delayMicroseconds(waveDelay); //192uS | |
steps = steps * multiplier; | |
ledIntensity = waveDelay / 255; // step the led intensity | |
} | |
// lets just max out the led recharge cycle complete | |
analogWrite(rgb_led, 255); | |
} | |
// the loop routine runs over and over again forever: | |
void loop() { | |
buttonState = digitalRead(trigger); | |
if (buttonState == HIGH) { | |
// do the ir stuff, trigger was just pressed | |
digitalWrite(ir_led, HIGH); | |
delay(100); | |
digitalWrite(ir_led, LOW); | |
// start recharge cycle | |
recharge_simple(1.030); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment