Оглавление:

Сумо-бот, напечатанный на 3D-принтере Arduino: 6 шагов
Сумо-бот, напечатанный на 3D-принтере Arduino: 6 шагов

Видео: Сумо-бот, напечатанный на 3D-принтере Arduino: 6 шагов

Видео: Сумо-бот, напечатанный на 3D-принтере Arduino: 6 шагов
Видео: Как создаются руки робота | Promobot 2024, Ноябрь
Anonim
3D-печатный бот Sumo на Arduino
3D-печатный бот Sumo на Arduino

Так что у меня дома лежала куча запчастей. Я хотел участвовать в соревнованиях по сумо, которые должны были появиться через несколько месяцев, но у меня не было бота. Вместо того, чтобы покупать бота или использовать существующий дизайн, который потребовал бы от меня покупки вещей для проекта, я пошел дальше и сделал своего собственного бота по собственному дизайну из моих собственных частей. Для этого урока вам понадобится следующее.

  1. Здесь можно найти по одному экземпляру каждой детали, напечатанной на 3D-принтере.
  2. Аккумулятор на 7,4 вольт или две батареи 18650.
  3. Держатель батареи при необходимости.
  4. Arduino uno.
  5. Защитный экран Arduino uno.
  6. USB-кабель для Arduino.
  7. Настольный источник питания (опция).
  8. Зарядное устройство (опционально).
  9. Провода и их много.
  10. Сервоприводы непрерывного вращения с металлическими зубчатыми колесами стандартного размера.
  11. Два датчика ИК-переключателя.
  12. Сервоприводы 7 см.
  13. Переключатель включения и выключения.

Этот код постоянно меняется. Код этого робота можно найти здесь. Это самая последняя версия кода проекта. Наслаждаться!

Шаг 1: Сборка

Сборка
Сборка
Сборка
Сборка
Сборка
Сборка
  1. Робот использует два сервопривода с металлическими шестернями. Вам нужно будет вкрутить их с помощью болтов и гаек m3, чтобы сервоприводы внутри шасси были обращены наружу в обоих направлениях. Сервоприводы могут войти в робота только одним способом, так что это будет довольно просто.
  2. Присоедините сервоприводы.
  3. Прикрепите инфракрасные датчики так, чтобы они смотрели вниз перед роботом. Они прикреплены двумя винтами через отверстия M3 в передней части робота. В нижней части робота есть прорези, через которые они могут смотреть. Будьте осторожны: датчики не захватывают корпус и не могут видеть сквозь прорези. Вы узнаете об этом больше позже, когда мы протестируем робота, чтобы убедиться, что ваша ручная работа сработала.
  4. Поместите датчик HC-SR04 в два отверстия, обращенных снаружи робота изнутри. Отверстия расположены в передней части корпуса.
  5. Поместите Arduino Uno внутрь корпуса так, чтобы на нем был щит.
  6. Соедините все вместе в соответствии с приведенным ниже списком.

    1. Питание от выбранного источника питания до переключателя питания. Подключите к переключателю положительный или отрицательный вывод. Если вы выбрали отрицательный провод, он будет вашим заземлением, а если вы выберете положительный провод, это будет провод источника питания. Другой провод в зависимости от того, положительный он или отрицательный, будет вашим положительным или отрицательным.
    2. Подключите положительный вывод к vin на Arduino и положительный провод на сервоприводах.
    3. Подключите землю к земле на сервоприводах и Arduino.
    4. Подключите 5 В от регулятора 5 В на Arduino ко всем положительным клеммам на каждом из датчиков.
    5. Подключите датчики к заземлению на Arduino.
    6. Наконец, подключите контакт 7 на Arduino к правому ИК-датчику, контакт 6 к левому ИК-датчику, контакт 8 к одному из сервоприводов, контакт 9 к последнему сервоприводу.

Предупреждение: неправильное подключение робота может привести к его дыму и разрушению электроники

Шаг 2: Первые признаки жизни

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

int mode = 3;

Эта строка кода выше является ключевой переменной для робота. Если оно равно каждому номеру, указанному ниже, он выполняет следующие действия.

  1. Пока он равен нулю, робот движется по определенной схеме.
  2. Если режим равен единице, робот распечатывает вывод на компьютер показаний каждого из датчиков.
  3. Когда равно двум, робот избегает краев и препятствий, если сталкивается с ними.
  4. Робот борется с другими ботами.

Это различные режимы робота, используемые для тестирования и помощи роботу в продвижении. Вам нужно будет изменить это «3» на ноль на первом шаге этого руководства.

Теперь загрузите код в робота. Вы увидите, как он движется вперед, назад, влево и вправо в указанном порядке.

Шаг 3. Он видит

int mode = 0;

Измените следующую переменную на «1», если предыдущий шаг был выполнен. Теперь, когда он подключен к вашему последовательному монитору на Arduino, он распечатает то, что видит ваш робот. «0» означает, что краевые датчики что-то видят. «1» означает, что края не видны. Если вы заметили, что логика перевернута, обратите внимание на это для будущих шагов.

Не беспокойтесь о датчике пинга. В любом случае у меня это еще не работает. Этот робот находится в стадии интенсивной разработки.

Шаг 4: можно избежать края стола

void Avoid () {

интервал sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

задержка (50);

if (Ping.ping_cm ()> = 15 && sensorStateLeft == 0 && sensorStateRight == 0) {

left.write (0); right.write (90);

}

if (Ping.ping_cm () <= 15 && Ping.ping_cm ()! = 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

left.write (90);

right.write (0); }

}

Этот код выше - это код, вызываемый, когда режим равен двум. Если предыдущий шаг был выполнен, измените режим на «2».

Если датчики инвертированы, не стесняйтесь инвертировать «sensorStateLeft» и «sensorStateRight» в каждом из операторов «if», чтобы они равнялись другому числу, чем они были заданы, то есть либо «1», либо «0».

Теперь робот может избегать края арены сумо. Он почти готов к бою. Не стесняйтесь протестировать его, чтобы увидеть, работает он или нет.

Шаг 5: СРАЖАЙТЕСЬ

Ваше сумо готово к битве с небольшими изменениями кода. Измените режим, чтобы он был равен «3», и при необходимости инвертируйте логику в пустоте «Сумо». Теперь ваш робот должен избегать края арены, но не может обнаружить других роботов. Он в основном избегает краев арены и движется достаточно быстро, чтобы можно было надеяться, что он может столкнуть робота с края стола. Наслаждаться!

Шаг 6: Заключение

Ваш робот готов. Если есть какие-либо проблемы или комментарии по этому проекту, дайте мне знать. Я невероятно открыт для отзывов, потому что понятия не имею, был ли это хорошо сделанный урок или нет. Наслаждаться!

Рекомендуемые: