Yes and 99% of all these tutorials are beaten with
the experts blindness for beginner difficulties
That is the reason why reading one of these tutorials requires
That all these tons of tutorials make it hard to understand has three reasons:
- NOT emphasizing the fundamental difference between delay() and non-blocking timing which is only BASED on millis(). It needs more than a simple call to function millis().
From a quick reading most newcomers think replace delay() with millis() and you are done
which is totally wrong.
-
this: has been handed down for ages
but still a very bad example this
infamous inglorious blink without delay example of the arduino-IDE
making non-blocking timing unnecessarily difficult to understand through badly chosen variable names, and scattering the variables around in the code. -
not using an everyday-example with easy to follow numbers that explains all details written out for most easiest understanding
The experienced users here will roll their eyes but I will repeat such postings until the Arduino-team will have replaced this BW-understand-example code with something much better and setup a tutorial that follows the three reasons I have written above
So here it is:
Additionally here is a short not yet finished tutorial outer high-level circular-repeating coding
which shows the fundamental difference to linear coding / inner low-level repeating coding.
best regards Stefan