Topic: Задержка вращения моторов.
Имеется дистанционное управление вращением двух моторов, хочу сделать чтоб при переключении switch в положение on моторы вращались по заданной программе.
Не получается сделать задержку вращения моторов, пробовал через delay - моторы вращаются в одном направлении и больше не реагируют.
Через функцию millis(), вращение не происходит (но звук срабатывания есть) и при переключении switch в off дистанционное управление возвращается.
нерабочая реализация:
if (RemoteXY.switch_1!=0) {
time1=millis();
digitalWrite (PIN_MOTOR_RIGHT_UP, HIGH); \\вращение моторов вперед
digitalWrite (PIN_MOTOR_RIGHT_DN, LOW);
analogWrite(PIN_MOTOR_RIGHT_SPEED,220);
digitalWrite (PIN_MOTOR_LEFT_UP, HIGH);
digitalWrite (PIN_MOTOR_LEFT_DN, LOW);
analogWrite(PIN_MOTOR_LEFT_SPEED,220);
if (time1+2000>millis ())
{
digitalWrite (PIN_MOTOR_RIGHT_UP, HIGH); \\ через 2 се вращение моторов назад
digitalWrite (PIN_MOTOR_RIGHT_DN, LOW);
analogWrite(PIN_MOTOR_RIGHT_SPEED,120);
digitalWrite (PIN_MOTOR_LEFT_DN, HIGH);
digitalWrite (PIN_MOTOR_LEFT_UP, LOW);
analogWrite(PIN_MOTOR_LEFT_SPEED,120);
}
if (time1+3000>millis ()){
analogWrite(PIN_MOTOR_RIGHT_SPEED,0); \\через 3 сек остановка
analogWrite(PIN_MOTOR_LEFT_SPEED,0);
}