Вопрос задан 25.06.2023 в 08:39. Предмет Информатика. Спрашивает Борисов Максим.

Пжжж Срочно погите Напиши полный алгоритм составления программы для робота сумо. там фото нету

даю 100 балл.​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ким Влада.

Ответ:

Скетч программы:

//Скетч для простого выталкивания соперника с ринга

//робот сразу после старта поворачивает на 135 градусов

//и если не находит соперника, то крутится направо

 

//подключаем «ноги»

//определяем соответствие контактов микроконтролера

//и контакам драйвера двигателей TB6612FNG

#define PWMA 3

#define AIN1 1

#define AIN2 0

#define BIN1 2

#define BIN2 7

#define PWMB 9

 

//включаем «глаза» для поиска соперника

//объявляем переменные, содержащие значения

//аналоговых портов микроконтроллера, подключаемых

//к ИК датчикам Sharp

int front_eye = A0;

int left_eye = A1;

int right_eye = A8;

 

//включем «глаза» для определения, на ринге мы находимся

//или выехали за него

//объявляем переменные, содержащие значения

//аналоговых портов, подключенных к датчикам

//QTR-1A

int left_bw = A6;

int right_bw = A11;

 

//процедура инициации портов

void setup()

{

//инициируем переменные моторов

pinMode(PWMA,OUTPUT);

pinMode(AIN1,OUTPUT);

pinMode(AIN2,OUTPUT);

pinMode(PWMB,OUTPUT);

pinMode(BIN1,OUTPUT);

pinMode(BIN2,OUTPUT);

 

//ждем 5 секунд

delay(5000);

// делаем повопрот на 135 градусов

//левый мотор по направлению движения робота

//(против часовой стрелки)

digitalWrite(AIN1, LOW);

digitalWrite(AIN2, HIGH);

analogWrite(PWMA, 255);

//Правый мотор против направления движения робота

//(против часовой стрелки)

digitalWrite(BIN1, LOW);

digitalWrite(BIN2, HIGH);

analogWrite(PWMB, 255);

delay(100); // длительность задержки определяет

//угол поворота робота

//и подбирается экспериментально в зависимости

//от веса робота, моторов и колес

//останавливаем моторы

digitalWrite(AIN1,HIGH);

digitalWrite(AIN2,HIGH);

digitalWrite(PWMA,LOW);

digitalWrite(BIN1,HIGH);

digitalWrite(BIN2,HIGH);

digitalWrite(PWMB,LOW);

delay(10);

 

}

 

void loop()

{

//проверяем наличие препятствия фронтальным датчиком

//на расстоянии ближе 40 см

//(значение analogRead() — 333 по таблице)

if(analogRead(front_eye) > 333){

//левый мотор по направлению движения робота

//(против часовой стрелки)

digitalWrite(AIN1, LOW);

digitalWrite(AIN2, HIGH);

analogWrite(PWMA, 255);

//Правый мотор по направления движения робота

//(по часовой стрелке)

digitalWrite(BIN1, HIGH);

digitalWrite(BIN2, LOW);

analogWrite(PWMB, 255);

delay(100); // длительность задержки 0.1 секунда

}

else if(analogRead(left_eye) > 333){// если соперник

//не найден спереди то проверяем слева

//если соперник слева найден поворачиваем налево

//на 90 градусов

//левый мотор против направлению движения

//робота (по часовой стрелки)

digitalWrite(AIN1, HIGH);

digitalWrite(AIN2, LOW);

analogWrite(PWMA, 255);

//Правый мотор по направлению движения

//робота (по часовой стрелки)

digitalWrite(BIN1, HIGH);

digitalWrite(BIN2, LOW);

analogWrite(PWMB, 255);

delay(60); // длительность задержки

//определяет угол поворота робота

//и подбирается экспериментально в

//зависимости от веса робота, моторов и колес

//левый мотор по направлению движения робо//(против часовой стрелки)

digitalWrite(AIN1, LOW);

digitalWrite(AIN2, HIGH);

analogWrite(PWMA, 255);

//Правый мотор против направления движения робота

//(против часовой стрелки)

digitalWrite(BIN1, LOW);

digitalWrite(BIN2, HIGH);

analogWrite(PWMB, 255);  

delay(130); // длительность задержки определяет

//угол поворота робота  

//и подбирается экспериментально в зависимости

//от веса робота, моторов и колес

//конец цикла loop — идем на начало цикла и проверяем расстояние спереди  

Все операторы в данном скетче нами уже изучались, поэтому трудностей в его понимании, надеюсь, не возникнет.

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я помогу вам с описанием алгоритма для программы робота в сумо-борьбе. Помните, что программа для робота в сумо-борьбе включает в себя различные аспекты, такие как управление движением, датчики, стратегия и тактика. Давайте разберемся шаг за шагом:

  1. Подготовка и настройка робота:

    • Собрать и настроить робота для участия в сумо-борьбе, установить все необходимые компоненты, моторы, датчики и т.д.
  2. Настройка датчиков:

    • Настроить датчики для обнаружения противника и границы ринга. Это может включать в себя инфракрасные датчики, ультразвуковые датчики и т.д.
  3. Управление движением:

    • Разработать алгоритмы управления движением робота. Это может быть PID-регулятор или другие методы для точного и плавного перемещения робота по рингу.
  4. Реакция на обнаружение противника:

    • При обнаружении противника с помощью датчиков принять решение о дальнейших действиях. Например, двигаться в его сторону или изменить стратегию атаки.
  5. Стратегия атаки:

    • Разработать стратегию атаки, определить, каким образом робот будет пытаться вытолкнуть противника за пределы ринга. Это может включать тактику обхода или непосредственного столкновения.
  6. Реакция на границы ринга:

    • Обработать ситуацию, когда робот приближается к границе ринга, чтобы избежать его пересечения или неправильного движения.
  7. Анализ результатов:

    • Проанализировать результаты соревнования, выявить слабые места программы и робота, внести необходимые изменения для улучшения производительности.
  8. Тестирование и итерации:

    • Провести тестирование программы на реальном роботе, проанализировать результаты и внести коррективы в алгоритмы. Повторить этот этап, пока не будет достигнут оптимальный результат.

Это общий алгоритм, который можно доработать и адаптировать под конкретные характеристики вашего робота и правила сумо-борьбы. Не забудьте тщательно тестировать вашего робота и улучшать алгоритмы для достижения наилучших результатов.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос