Автономный танк на Arduino

Основной частью робота являются шасси от радиоуправляемого танка и других компонентов, их список будет написан ниже. Этот танк первый проект автора на платформе Arduino, и он был доволен что использовал именно её. Пользовался автор материалам и книгами из интернета.

Материалы и инструменты:
— Шасси для танка
— Arduino Uno
— Перемычки и макетная плата
— Драйвер двигателя интегральный SN754410NE
— Обычный сервопривод
— Дальномер ультразвуковой
— Батарея 9В с разъёмом для неё
— Батарейки типа D
— USB кабель для Arduino
— Основа для шасси
— Отвёртки
— Термопистолет и клей для него
— Паяльник и припой

Шаг первый. Шасси танка.
Шасси автор взял от старого танка Абрамс купленного на барахолке. Полученный танк разобрали так, чтоб можно было достать из него шасси. Совсем необязательно использовать тот же танк, подойдёт любой на радиоуправлении. Тем более что оригинальный мотор оставлял желать лучше, поэтому пришлось собирать свой, его сборка будет в следующем шаге. Имея подготовленные шасси, автор прикрепил к ним основу термоклеем. Не имеет значения где она будет закреплена, но было решено приклеить в центре.

Шаг второй. Драйвер двигателя.
Для управления двигателем используется драйвер SN754410NE, автор использовал именно его, так как он был в наличии, можно брать любой аналогичный.
Подключение драйвера к Arduino происходит следующим образом:

— все выводы GND подключают к выводам GND макетной платы.
— Контакты драйвера 1 и 16 к 9 и 10 Arduino.
— К контактам 3 и 4 Arduino подключают контакты 2 и 7 драйвера (они отвечают за управление левого двигателя).
— К выводам Arduino 5 и 6 подключают контакты драйвера 10 и 15 (они отвечают за управление правым двигателем).
— К левому мотору подключают контакты 3 и 6, а к правому 14 и 11.
— Контакты 8 и 16 обязаны быть подключены к питанию на Bredboard, источником питания служит батарея 9В.

Шаг третий. Установка дальномера.
Ультразвуковой датчик позволяет роботу избегать препятствий на его пути при движении. Датчик расположен на стандартном сервоприводе, и будет установлен на передней части робота. В тот момент когда в пределах 10 см робот замечает препятствие, сервопривод начнёт поворачиваться в обе стороны, тем самым ища проход. Arduino считывает информацию с датчика и решает какая сторона более благоприятна для дальнейшего движения.
Первым делом к датчику прилепляют сервопривод. Сервопривод автор закрепляет так чтоб он мог повернуться только на 90 градусов в каждую сторону, иначе говоря, полный оборот сервопривода составит 180 градусов.

Датчик имеет три контакта GND, сигнал и 5В. Питание 5В подключают к питанию 5В Arduino, GND к GND, а сигнал к 7 контакту Arduino.

Шаг четвёртый. Питание.
Arduino получает питание через батарею 9В, подключается она в соответствующий разъём. Двигатели используют питание четырёх батареек типа D, устанавливаются они в держатель батареек. Для получения питания в двигатели, провода держателя подключают к плате, на которой уже установлен драйвер двигателя SN754410NE.

Шаг пятый. Сборка робота.
После завершения всех предыдущих шагов настало время собрать все детали вместе. В первую очередь Arduino крепится на основу танка. После этого, на переднюю часть робота с помощью термоклея прикрепляют ультразвуковой дальномер. Затем, автор закрепляет батареи рядом с Arduino. Батареи можно установить на любой части танка. После установки всех компонентов, все провода были подняты вверх и на плату подали питание, чтобы убедится в правильности сборки.

Шаг шестой. Программный код.
После завершения сборки танка настаёт время для написания программы для него. Программа должна показывать роботу когда нужно двигаться, а когда приостановить движение, для избежания столкновения с препятствием. При написании кода у автора самоделки было много неудачных попыток, но потратив пару бессонных ночей, он закончил работу над кодом. При обнаружении объекта в радиусе 10 см робот остановится и начнёт сканировать местность с обеих сторон с помощью ультразвукового датчика. После сканирования обеих сторон перед собой, программа определит какая сторона является безопасной для дальнейшего движения, и робот продолжит свой путь в этом направлении. Если программа определит что робот находиться в тупике, тогда танк развернётся на 180 градусов и продолжит своё движение в противоположном направлении.

Программу для использования можно скачать ниже.

arduinotank_project.rar

[601 b] (скачиваний: 637)

Источник (Source)

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

Источник: usamodelkina.ru

Оцените статью