// #include <IRremote.h>
// no IRremote, so pushbutton proxies here
// https://forum.arduino.cc/t/issue-with-millis-when-controlling-2-leds-with-an-ir-remote/964143
int receiver = 11;
uint32_t Previous;
const int led1 = 8;
const long onDuration = 600;
const long offDuration = 200;
int LEDstate1 = LOW;
const int led2 = 7;
const long onDuration2 = 700;
const long offDuration2 = 400;
int LEDstate2 = LOW;
long rememberTime = 0;
long rememberTime2 = 0;
void setup()
{
pinMode(led1, OUTPUT);
digitalWrite(led1, LEDstate1);
pinMode(led2, OUTPUT);
digitalWrite(led2, LEDstate2);
pinMode(A0, INPUT_PULLUP);
pinMode(A1, INPUT_PULLUP);
pinMode(A2, INPUT_PULLUP);
// Serial.begin (9600);
// Serial.println("\nHello World!\n");
}
bool blinkOne = false;
bool blinkTheOther = false;
void loop()
{
if (blinkOne) {
if ( LEDstate1 == LOW ) {
if ( (millis() - rememberTime) >= onDuration) {
LEDstate1 = HIGH;
rememberTime = millis();
}
}
else {
if ( (millis() - rememberTime) >= offDuration) {
LEDstate1 = LOW;
rememberTime = millis();
}
}
digitalWrite(led1, LEDstate1);
}
if (blinkTheOther) {
if ( LEDstate2 == LOW ) {
if ( (millis() - rememberTime2) >= onDuration2) {
LEDstate2 = HIGH;
rememberTime2 = millis();
}
}
else {
if ( (millis() - rememberTime2) >= offDuration2) {
LEDstate2 = LOW;
rememberTime2 = millis();
}
}
digitalWrite(led2, LEDstate2);
}
if (!digitalRead(A0)) blinkOne = true;
if (!digitalRead(A1)) blinkTheOther = true;
if (!digitalRead(A2)) {
blinkOne = false;
blinkTheOther = false;
}
}