Управление шаговыми двигателями с помощью внешних сигналов

help to solve this problem: There is a need for the Arduino platform by command (external button - for example)
start the stepper motor. After completing the set number of revolutions (1000), stop it and start the second stepper motor
with a similar task (let's say 2000 rpm). After receiving the second command, the program runs everything in reverse order.
First the second motor 2000 rpm in the reverse direction, then the first 1000 revolutions in the opposite direction.
Need a sketch of the program, if possible with detailed comments.

Дорогие друзья, помогите решить такую задачу: Есть необходимость на платформе Arduino по команде (внешняя кнопка - например) включить шаговый двигатель.
После выполнения заданного числа оборотов (1000) остановить его и включить второй шаговый двигатель с аналогичной задачей (допустим 2000 оборотов).
После получения второй команды программа отрабатывает все в обратном порядке.
Сначала второй мотор 2000 оборотов в обратном направлении, затем первый 1000 оборотов в обратном направлении.
Нужен скетч программы, по возможности с подробными комментариями, так-как ваш покорный слуга сущий чайник в программировании : smiley-sleep: .

С уважением и надеждой.