погите Напиши полный алгоритм составления программы для робота сумо. там фото нету
Ответы на вопрос:
Скетч программы:
//Скетч для простого выталкивания соперника с ринга
//робот сразу после старта поворачивает на 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 — идем на начало цикла и проверяем расстояние спереди
Все операторы в данном скетче нами уже изучались, поэтому трудностей в его понимании, надеюсь, не возникнет.
Объяснение:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
mugenovak30.12.2022 06:45
-
scravtz18.06.2020 02:49
-
зузу1007.02.2020 10:44
-
kadieva197629.09.2021 15:30
-
РенатаG13.05.2020 04:48
-
watercolour325.09.2021 04:20
-
RFTBOY19.02.2023 06:55
-
mmwo13.05.2021 16:43
-
вопрос21009.03.2023 21:55
-
aska13aska04.03.2022 21:06
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.