
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04


Как построить робота для обхода препятствий
Шаг 1: черный ящик

На первом этапе я использовал черный ящик как основу для своего робота.
Шаг 2: Arduino

Arduino - это мозг всей системы, управляющий нашими двигателями.
Шаг 3: Присоединение Arduino к Blackbox

Я прикрепил ардуино к черному ящику с помощью горячего клея
Шаг 4: ультразвуковой датчик

Чтобы создать робота, который может двигаться сам по себе, нам нужен какой-то вход, датчик, который соответствует нашей цели. Ультразвуковой датчик - это инструмент, который измеряет расстояние до объекта с помощью ультразвуковых звуковых волн. Ультразвуковой датчик использует преобразователь для отправки и приема ультразвуковых импульсов, которые передают информацию о близости объекта.
Шаг 5: Макетное подключение датчика к Arduino


Я использовал провода, чтобы соединить макетную плату и Arduino.
Обратите внимание, что ваш датчик ping может иметь другое расположение выводов, но он должен иметь вывод напряжения, вывод заземления, вывод триггера и вывод эха.
Шаг 6: моторный щит

Платы Arduino не могут управлять двигателями постоянного тока самостоятельно, потому что генерируемые ими токи слишком малы. Для решения этой проблемы мы используем экраны двигателя. Щит двигателя имеет 2 канала, что позволяет управлять двумя двигателями постоянного тока, или 1 шаговый двигатель. … Обращаясь к этим контактам, вы можете выбрать канал двигателя для запуска, указать направление двигателя (полярность), установить скорость двигателя (ШИМ), остановить и запустить двигатель, а также контролировать потребление тока в каждом канале.
Шаг 7: Подключение Motor Shield к Arduino

Просто прикрепите моторный щит к ардуино с зажатыми проводами датчика.
Шаг 8: Подключение 4 двигателей и батарей к экрану

Каждый Motor Shield имеет (как минимум) два канала, один для двигателей и один для источника питания. Соедините их друг с другом.
Шаг 9: запрограммируйте робота
запустите этот код
#include #include
Эхолот NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor1 (1, MOTOR12_1KHZ); AF_DCMotor motor2 (2, MOTOR12_1KHZ); AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motor4 (4, MOTOR34_1KHZ); Сервомашина;
#define TRIG_PIN A2 #define ECHO_PIN A3 #define MAX_DISTANCE 150 #define MAX_SPEED 100 #define MAX_SPEED_OFFSET 10
логическое goForward = false; int distance = 80; int speedSet = 0;
void setup () {
myservo.attach (10); myservo.write (115); задержка (2000); расстояние = readPing (); задержка (100); расстояние = readPing (); задержка (100); расстояние = readPing (); задержка (100); расстояние = readPing (); задержка (100); }
void loop () {int distanceR = 0; int distanceL = 0; задержка (40); если (расстояние <= 15) {moveStop (); задержка (50); двигаться назад(); задержка (150); moveStop (); задержка (100); distanceR = lookRight (); задержка (100); distanceL = lookLeft (); задержка (100);
если (distanceR> = distanceL) {turnRight (); moveStop (); } еще {turnLeft (); moveStop (); }} еще {moveForward (); } distance = readPing (); }
int lookRight () {мой резервуар.write (50); задержка (250); int distance = readPing (); задержка (50); myservo.write (100); расстояние возврата; }
int lookLeft () {мой резервуар.write (120); задержка (300); int distance = readPing (); задержка (100); myservo.write (115); расстояние возврата; задержка (100); }
int readPing () {задержка (70); int cm = sonar.ping_cm (); если (см == 0) {см = 200; } return cm; }
void moveStop () {motor1.run (RELEASE); motor2.run (РЕЛИЗ); motor3.run (ВЫПУСК); motor4.run (РЕЛИЗ); } void moveForward () {
если (! идет вперед) {идет вперед = истина; motor1.run (ВПЕРЕД); motor2.run (ВПЕРЕД); motor3.run (ВПЕРЕД); motor4.run (ВПЕРЕД); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) {motor1.setSpeed (speedSet); motor2.setSpeed (набор скорости); motor3.setSpeed (набор скорости); motor4.setSpeed (набор скорости); задержка (5); }}}
void moveBackward () {goForward = false; motor1.run (НАЗАД); motor2.run (НАЗАД); motor3.run (НАЗАД); motor4.run (НАЗАД); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) {motor1.setSpeed (speedSet); motor2.setSpeed (набор скорости); motor3.setSpeed (набор скорости); motor4.setSpeed (набор скорости); задержка (5); } void turnLeft () {motor1.run (НАЗАД); motor2.run (НАЗАД); motor3.run (ВПЕРЕД); motor4.run (ВПЕРЕД); задержка (500); motor1.run (ВПЕРЕД); motor2.run (ВПЕРЕД); motor3.run (ВПЕРЕД); motor4.run (ВПЕРЕД); }
void turnLeft () {motor1.run (НАЗАД); motor2.run (НАЗАД); motor3.run (ВПЕРЕД); motor4.run (ВПЕРЕД); задержка (500); motor1.run (ВПЕРЕД); motor2.run (ВПЕРЕД); motor3.run (ВПЕРЕД); motor4.run (ВПЕРЕД); }
Рекомендуемые:
Робот для объезда препятствий с помощью ультразвукового датчика (Proteus): 12 шагов

Робот для уклонения от препятствий, использующий ультразвуковой датчик (Proteus): Обычно мы сталкиваемся с роботом для уклонения от препятствий повсюду. Аппаратное моделирование этого робота является частью соревнований во многих колледжах и на многих мероприятиях. Но программное моделирование робота-препятствия встречается редко. Даже если мы сможем его где-то найти
Автомобиль объезда препятствий: 5 шагов

Автомобиль с предотвращением препятствий: автомобиль с датчиком угла представляет собой интеллектуальный автомобиль с функцией самоуправления, корпус автомобиля с алюминиевой рамой, основное управление с использованием микроконтроллера Arduino / Nano, печатная плата имеет съемную конструкцию (легче подключить внешний датчик через микроконтроллер
Робот для объезда препятствий с помощью ультразвуковых датчиков: 9 шагов (с изображениями)

Робот для обхода препятствий с помощью ультразвуковых датчиков: это простой проект о роботах для обхода препятствий с использованием ультразвуковых датчиков (HC SR 04) и платы Arduino Uno. Робот перемещается, избегая препятствий и выбирая лучший способ следовать за датчиками. учебный проект, поделитесь с вами
Робот для объезда препятствий с помощью EBot8: 4 шага (с изображениями)

Робот для обхода препятствий с использованием EBot8: В этом руководстве вы узнаете, как построить автомобиль-робот, который будет избегать препятствий на своем пути. Концепция может использоваться и применяться по-разному в зависимости от условий. Требуемые материалы: 1. Колеса x4 2. Шасси (вы можете купить
Робот для объезда препятствий, использующий привод двигателя L298n: 5 шагов

Робот для обхода препятствий, использующий драйвер двигателя L298n: привет, ребята, сегодня мы сделаем этого робота .. надеюсь, вам понравится