Доброго времени суток, товарищи по интересу! Имею код, но не могу понять какой параметр отвечает за время реагирования оси на машинке. Поворот осуществляется только после 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();
}