Ардуино Сервопривод

Доброго времени суток, товарищи по интересу! Имею код, но не могу понять какой параметр отвечает за время реагирования оси на машинке. Поворот осуществляется только после 12 секунд хочу сделать через 5 секунд. Прошу вашей помощи.

Код прилагается:

int T = 3;
Servo MyServo;

void setup()
{
Serial.begin(9600);
pinMode(A, OUTPUT);
pinMode(B, INPUT);
pinMode(BR, OUTPUT);
pinMode(FR, OUTPUT);
pinMode(BL, OUTPUT);
pinMode(FL, OUTPUT);
MyServo.attach(1);
MyServo.write(9);
}

void dist() {
digitalWrite(A, LOW);
delayMicroseconds(2);
digitalWrite(A, HIGH);
delayMicroseconds(10);
digitalWrite(A, LOW);
t = pulseIn(B, HIGH);
S = t *343 / 200;
}

void loop()
{
for(int i = 1; i <= A; i++) {
digitalWrite(BL, HIGH);
digitalWrite(BR, HIGH);
dist();
while (S >= 3000) {
dist();
Serial.println(S);
}
digitalWrite(BL, LOW);
digitalWrite(FL, LOW);
MyServo.write(0);
delay(2000/16);
dist();
if (S <= 5000) {
digitalWrite(FR, HIGH);
digitalWrite(BR, LOW);
delay(3255/16);
digitalWrite(BL, LOW);
digitalWrite(FL, LOW);
delay(50/16);
}
else {
digitalWrite(FR, HIGH);
digitalWrite(BL, HIGH);
delay(3255/16);
digitalWrite(FR, LOW);
digitalWrite(BL, LOW);
delay(50/16);
}
MyServo.write(9);
delay(2000/16);
}
digitalWrite(FR, HIGH);
digitalWrite(FL, HIGH);
dist();
while (S >= 2000) {
dist();
Serial.println(S);
}
digitalWrite(FR, LOW);
digitalWrite(FL, LOW);
abort();
}

сомневаюсь что этот код скомпилируется

И зачем плодить темы? Нельзя было в той теме новый пост с кодом добавить?

не понял как исправить вопрос

Во-первых, это неполный код, он даже компилироваться не будет. Во-вторых, посчитайте суммарно задержки на delay() и подумайте сами

Это новогодняя шутка такая? Представил ТС на авто, который поворачивает руль, а машина только через 12 секунд это делает )))

2 лайка

Вот 12 секунд его как раз и не устраивает, он хочет 5 секунд ))

1 лайк

Спросите у автора кода, мы ты в чём провинились.