How to Execute a Timed LED On/Off Sequence Using millis() Function
Hello ,I’m struggling with a problem. I want to execute a sequence of turning an LED on and off, but not just a simple on/off; I want a timed sequence that turns the LED on and off at specific intervals. My requirement is to use
millis()
because other actions need to run in parallel.
Here’s what I’ve done:
But this isn’t working as expected. Sequentially, it should look like:
- from 0 to 1000 ms = off
- from 1000 to 1100 ms = on
- from 1100 to 1200 ms = off
- from 1200 to 1500 ms = on
- etc.
Where am I going wrong?🤔1 Reply
@Camila_99$$ Hello I see what you’re trying to achieve, and it’s great that you’re using
millis()
for non-blocking timing to allow other actions to run in parallel. However, there seems to be a logic issue in your code with the intervals and the use of the ternary operators. The conditions are overlapping and might be causing unexpected behavior.
Try this out