//int var = 1; // variable to store the read value
const int rPin = 2;
const int gPin = 3;
const int bPin = 4;
const int yPin = 5;
int rState = LOW;
int gState = LOW;
int bState = LOW;
int yState = LOW;
unsigned long currentMillis;
unsigned long rpreviousMillis = 0;
unsigned long gpreviousMillis = 0;
unsigned long bpreviousMillis = 0;
unsigned long ypreviousMillis = 0;
long rinterval = 500;
long ginterval = 300;
long binterval = 200;
long yinterval = 100;
void setup() {
Serial.begin(115200);
pinMode(rPin, OUTPUT);
pinMode(gPin, OUTPUT);
pinMode(bPin, OUTPUT);
pinMode(yPin, OUTPUT);
pinMode(8, INPUT_PULLUP);
}
void loop() {
currentMillis = millis();
///////////////////////////////////////////// Multi tasking LED
//////////////////////////////////////////////////// start millis
if (currentMillis - rpreviousMillis >= rinterval) {
rpreviousMillis = currentMillis;
Serial.println(rpreviousMillis);
if (rState == LOW) {
rState = HIGH;
rinterval = 1000;
} else {
rState = LOW;
rinterval = 5000;
}
digitalWrite(rPin, rState);
}
//////////////////////////////////////////////end millis
//////////////////////////////////////////////////// start millis
if (currentMillis - gpreviousMillis >= ginterval) {
gpreviousMillis = currentMillis;
if (gState == LOW) {
gState = HIGH;
} else {
gState = LOW;
}
digitalWrite(gPin, gState);
}
//////////////////////////////////////////////end millis
//////////////////////////////////////////////////// start millis
if (currentMillis - bpreviousMillis >= binterval) {
bpreviousMillis = currentMillis;
if (bState == LOW) {
bState = HIGH;
} else {
bState = LOW;
}
digitalWrite(bPin, bState);
}
//////////////////////////////////////////////end millis
/////////////////////////////////////////////////// start millis
if (currentMillis - ypreviousMillis >= yinterval) {
ypreviousMillis = currentMillis;
if (yState == LOW) {
yState = HIGH;
} else {
yState = LOW;
}
digitalWrite(yPin, yState);
}
//////////////////////////////////////////////end millis
int x = digitalRead(8);
if (x == 0){
digitalWrite(6, 1);
}
else {
digitalWrite(6, 0);
}
}