I just updated the 2020 Bot Arduino Library to include a couple motor control examples: https://github.com/robojay/_2020Bot_Library
One uses the delay() function between motions. This is great for ease of understanding, but not so great to use in practice. The delay() function blocks the robot from doing most other tasks until the time expires.
The second example uses millis() and a timestamp to step through the motions. This lets the robot do other important tasks, such as blinking the LED, while still controlling motions.