Но для шагового двиготеля нужно же gnd и 5в и 4 порта с уно.зачем? есть модули драйверов, которые соединяются с ардуино 3-4 проводами (GND, STEP, DIR EN (опционально)). Да и вы сами пишете что двигатели с драйверами. Короче говоря, внешние драйверы могут питаться от отдельного источника питания, да и 5 вольт для многих шаговых двигателей маловато, чтобы крутить быстро и сильно.
void up()
{
// Задаём направлениеd
while (button_State_UP != 1) {
button_State_UP = digitalRead(button_UP);
analogWrite (DRIVE_D0, 0);
analogWrite (DRIVE_D1, speed_motor);
}
full_stop_motors();
}
void turn_left()
Кроме того, в указанном коде вы дополнительно управляете уровнем сигнала на модуле. Цель этого мероприятия неочевидна.