// The solution with millis
// Politeknik Negeri Malang
// One LED blink at rate of 500ms and the other is 100ms
// the 100ms will be forced to wait 1S (500ms*2) because of the delay introduced to blue blink
#define GLED 19
#define BLED 18
const int interval1 = 500;
const int interval2 = 200;
unsigned long bluetimer = millis();
unsigned long greentimer = millis();
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(GLED, OUTPUT);
pinMode(BLED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if(millis()-bluetimer >= interval1){
if(digitalRead(GLED)==LOW){
digitalWrite(GLED, HIGH);
}else{
digitalWrite(GLED, LOW);
}
bluetimer=millis();
}
if(millis()-greentimer >= interval2){
if(digitalRead(BLED)==LOW){
digitalWrite(BLED, HIGH);
}else{
digitalWrite(BLED, LOW);
}
greentimer=millis();
}
Serial.print("We've been running for : "); Serial.print(millis()); Serial.println(" ms");
delay(10); // this speeds up the simulation
}