Задание
В соответствии с алгоритмом по программированию робота, осуществляющего плавное прохождения поворотов \(участок трассы представлен на изображении\), была создана программа. Предполагается, что в конструкции робота установлен сервопривод для коррекции положения и аналоговый ИК-датчик расстояния, который помогает роботу следовать по волнообразной траектории, управляя скоростью моторов.
Соотнесите фрагменты алгоритма с программным кодом.
- Объекты 1
- Определяем пины для управления моторами и пин для считывания данных с датчика расстояния
- Определяем значение, считанное с датчика расстояния для дальнейших действий
- Подключаем сервопривод к определённому пину;
устанавливаем пин с датчиком расстояния как вход;
Уутанавливаем пины для управления моторами как выходы. - Считываем данные с датчика расстояния;
сопоставляем значения, используя положение сервопривода. - Управляем движением моторов для движения по волнообразной траектории
- Изменяем скорость моторов в зависимости от угла
- Объекты 2
- int sensorValue = 0;
- void loop\(\) {
sensorValue = analogRead\(sensorPin\);
int angle = map\(sensorValue, 0, 1023, 0, 180\); - int leftMotorSpeed = motorSpeed - angle;
int rightMotorSpeed = motorSpeed + angle; - void setup\(\) {
servo.attach\(9\);
pinMode\(sensorPin, INPUT\);
pinMode\(motorPin1, OUTPUT\);
pinMode\(motorPin2, OUTPUT\); } - int motorSpeed = 100;
- int sensorPin = A0;
int motorPin1 = 3;
int motorPin2 = 5;