5. You want to blink an LED every 500 milliseconds without stopping other code from running. Which code snippet correctly uses
millis() for this non-blocking timing?
A)
unsigned long previousMillis = 0;
const long interval = 500;
void loop() {
if (millis() - previousMillis >= interval) {
previousMillis = millis();
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
// other code runs here
}
B)
void loop() {
delay(500);
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
C)
unsigned long previousMillis = 0;
const long interval = 500;
void loop() {
if (millis() >= previousMillis + interval) {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
previousMillis = millis();
}
}
D)
unsigned long previousMillis = 0;
const long interval = 500;
void loop() {
if (millis() - previousMillis > interval) {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
}
}