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

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

Ответ:
Скетч программы:
//Скетч для простого выталкивания соперника с ринга
//робот сразу после старта поворачивает на 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 — идем на начало цикла и проверяем расстояние спереди
Все операторы в данном скетче нами уже изучались, поэтому трудностей в его понимании, надеюсь, не возникнет.
Объяснение:



Конечно, я помогу вам с описанием алгоритма для программы робота в сумо-борьбе. Помните, что программа для робота в сумо-борьбе включает в себя различные аспекты, такие как управление движением, датчики, стратегия и тактика. Давайте разберемся шаг за шагом:
Подготовка и настройка робота:
- Собрать и настроить робота для участия в сумо-борьбе, установить все необходимые компоненты, моторы, датчики и т.д.
Настройка датчиков:
- Настроить датчики для обнаружения противника и границы ринга. Это может включать в себя инфракрасные датчики, ультразвуковые датчики и т.д.
Управление движением:
- Разработать алгоритмы управления движением робота. Это может быть PID-регулятор или другие методы для точного и плавного перемещения робота по рингу.
Реакция на обнаружение противника:
- При обнаружении противника с помощью датчиков принять решение о дальнейших действиях. Например, двигаться в его сторону или изменить стратегию атаки.
Стратегия атаки:
- Разработать стратегию атаки, определить, каким образом робот будет пытаться вытолкнуть противника за пределы ринга. Это может включать тактику обхода или непосредственного столкновения.
Реакция на границы ринга:
- Обработать ситуацию, когда робот приближается к границе ринга, чтобы избежать его пересечения или неправильного движения.
Анализ результатов:
- Проанализировать результаты соревнования, выявить слабые места программы и робота, внести необходимые изменения для улучшения производительности.
Тестирование и итерации:
- Провести тестирование программы на реальном роботе, проанализировать результаты и внести коррективы в алгоритмы. Повторить этот этап, пока не будет достигнут оптимальный результат.
Это общий алгоритм, который можно доработать и адаптировать под конкретные характеристики вашего робота и правила сумо-борьбы. Не забудьте тщательно тестировать вашего робота и улучшать алгоритмы для достижения наилучших результатов.


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


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








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili