✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.
Білет № 20
Зайдіть помилку в програмному коді та виділіть її, зробіть скріншот (за неможливлсті зробити скріншот у відповідь вставте вірний програмний код)
// Роботизований трактор (танк) і управління ним
int m1speed = 6; // цифрові виходи, керуючі швидкістю
int m2speed = 5;
int m1_ direction = 7; // цифрові виходи, керуючі напрямком
int m2_direction = 4;
void setup ()
{
pinMode (m1direction, OUTPUT);
pinMode (m2direction, OUTPUT);
delay (5000);
}
void goForward (int duration, int pwm)
{
digitalWrite (m1direction, HIGH); // вперед
digitalWrite (m2direction, HIGH); // вперед
analogWrite (m1speed, pwm); // швидкість
analogWrite (m2speed, pwm);
delay (duration);
analogWrite (m1speed, 0); // швидкість
analogWrite (m2speed, 0);
}
void goBackward (int duration, int pwm)
{
digitalWrite (m1direction, LOW); // назад
digitalWrite (m2direction, LOW); // назад
analogWrite (m1speed, pwm); // швидкість
analogWrite (m2speed, pwm);
delay (duration);
analogWrite (m1speed, 0); // швидкість
analogWrite (m2speed, 0);
}
void rotateRight (int duration, int pwm)
{
digitalWrite (m1direction, HIGH); // вперед
digitalWrite (m2direction, LOW); // назад
analogWrite (m1speed, pwm); // швидкість
analogWrite (m2speed, pwm);
delay (duration);
analogWrite (m1speed, 0); // швидкість
analogWrite (m2speed, 0);
}
void rotateLeft (int duration, int pwm)
{
digitalWrite (m1direction, LOW); // назад
digitalWrite (m2direction, HIGH); // вперед
analogWrite (m1speed, pwm); // швидкість
analogWrite (m2speed, pwm);
delay (duration);
analogWrite (m1speed, 0); // швидкість
analogWrite (m2speed, 0);
}
void loop ()
{
goForward (1000, 255);
rotateLeft (1000, 255);
goForward (1000, 255);
rotateRight (1000, 255);
goForward (1000, 255);
goBackward (2000, 255);
delay (2000);
}