#include "millisDelay.h"
int led1 = 2;
int led2 = 3;
int led3 = 13;
// Pin 13 has an LED connected on most Arduino boards.
bool led1On = false; // keep track of the led state
bool led2On = false; // keep track of the led state
millisDelay led_1_Delay;
millisDelay led_2_Delay;
millisDelay led_3_Delay;
void setup()
{
// initialize the digital pin as an output.
pinMode(led1, OUTPUT); // initialize the digital pin as an output.
pinMode(led2, OUTPUT); // initialize the digital pin as an output.
pinMode(led3, OUTPUT); // initialize the digital pin as an output.
pinMode(19, INPUT_PULLUP); // initialize the digital pin as an output.
// start delay
led_1_Delay.start(700);
led_2_Delay.start(1000);
}
void loop()
{
// check if delay has timed out
if (led_1_Delay.justFinished())
{
led_1_Delay.repeat(); // start delay again without drift
// toggle the led
led1On = !led1On;
digitalWrite(led1, led1On);
}
if (led_2_Delay.justFinished())
{
led_2_Delay.repeat(); // start delay again without drift
// toggle the led
led2On = !led2On;
digitalWrite(led2, led2On);
}
if ( led_3_Delay.justFinished() ) digitalWrite(13, LOW);
if ( !led_3_Delay.isRunning())
{
if (digitalRead(19) == LOW)
{
led_3_Delay.start(2000);
digitalWrite(13, HIGH);
}
}
}