Студент Международного центра компетенций — Казанского техникума информационных технологий и связи П. Ермолаев в детстве мечтал об игрушке «Танковый бой». В статье он рассказывает, как решил собрать радиоуправляемую модель самостоятельно.
С чего все началось
В детстве я мечтал об игрушке под названием «Танковый бой». Смысл в том, что два игрока управляют танками, которые катаются и стреляют друг в друга инфракрасными лучами до тех пор, пока у кого‑то не кончатся жизни.
![Игра «Танковый Бой» Игра «Танковый Бой»](https://habrastorage.org/getpro/habr/upload_files/854/d53/426/854d53426f2a21c62b0d5c0d146b7a8b.png)
Недавно решил реализовать подобный проект, пользуясь знаниями, полученными в ходе обучения в техникуме. Взять микроконтроллер, радиомодуль, сервопривод и еще несколько компонентов и собрать хотя бы одну радиоуправляемую модель + чтобы это красиво каталось, жужжало и мигало.
Подбор комплектующих
Со старта у меня было понимание, что модель надо создавать на базе Arduino, так как это распространенный контроллер, к нему на подключение есть множество модулей, о работе с ним написано много статей. Сам контроллер обладает небольшой вычислительной мощностью, которой более чем достаточно для такого простенького устройства. Одним словом, идеальный кандидат.
По поводу вида Arduino, который я буду использовать в проекте, тоже особых размышлений не было. Nano имеет гораздо меньшие габариты по сравнению с классическим Uno и при этом не уступает ему в функционале. Его я использовал как в самой модели, так и в пульте.
В качестве радиомодуля я использовал широко распространенный nrf24l01. Он также имеет широкое распространение среди ардуинщиков. Версия без отдельного антенного модуля по паспорту работает на расстоянии до 100 метров, хотя по факту бьет лишь на пару десятков, чего в данном случае хватает с головой.
![Радиомодуль nrf2401 Радиомодуль nrf2401](https://habrastorage.org/getpro/habr/upload_files/e2f/e67/77d/e2fe6777d228dc80749f3a6b64dd29a5.png)
Что еще понадобится? Само гусеничное шасси, которое я нашел на «Авито» за 500 рублей, сервопривод для башни, ИК‑диод, ИК‑фотодиод и несколько обычных светодиодов, чтобы индицировать количество оставшихся жизней. И да, чуть не забыл про одно из самых главных — электромеханическое реле, с помощью которого будут приводиться в действие электромоторы.
![4-канальное реле 4-канальное реле](https://habrastorage.org/getpro/habr/upload_files/cde/9a9/ad2/cde9a9ad2ca4618dfc65420f4a0aeb7e.png)
Сборка
Собирать я решил на старой доброй макетной плате. Несмотря на очевидные недостатки в виде ненадежности крепления контактов и большого размера, есть у этой схемы и некоторые преимущества. Во‑первых, схему можно расширить буквально за несколько минут, просто воткнув новый модуль в макетную плату, что было бы невозможно при создании собственной печатной платы. Во‑вторых, по краям у макетных плат есть полосы для питания, которые удобно использовать в качестве шин.
Изначально я хотел использовать имеющиеся у меня уже аккумуляторы на 5 Вольт, но при первых же ходовых испытаниях было выявлено, что этого напряжения недостаточно для бесперебойной работы Arduino. После были закуплены и установлены аккумуляторы почти в 9 Вольт — этого уже оказалось достаточно. Ходовая модель выглядит примерно так:
![](https://habrastorage.org/getpro/habr/upload_files/54c/e49/d2c/54ce49d2ce7cc7ab4808c862b70408ff.png)
Скажу сразу, использование макетки в данном случае было ошибкой. В итоге образовалась огромная куча проводов, в которых черт ногу сломит, но сейчас это пока незаметно.
Уже на этапе первых ходовых испытаний я понял, что аккумулятор, макетка и реле занимают всю палубу шасси и что башню надо ставить поверх. К счастью, башню можно сделать не очень большой и устойчивость пострадает несильно.
![Схематичное изображение модели Схематичное изображение модели](https://habrastorage.org/getpro/habr/upload_files/341/951/907/34195190753d60129418e3dab05a44dc.png)
На башню был прикреплен ИК‑светодиод, ИК‑фотодиод и три индикационных светодиода. Проводов, идущих от башни в корпус, оказалось довольно много. Проделывать дырку в плите под башней я не стал и сделал ее чуть ближе к корме, что тоже было не самым лучшим решением.
Говоря о пульте, тут без каких‑либо изысков: Arduino nano, 7 кнопок (обе гусеницы вперед и назад по отдельности, поворот башни и стрельба), модуль радиосвязи и аккумулятор.
![](https://habrastorage.org/getpro/habr/upload_files/8b6/283/839/8b62838397642470b490d0e176d44366.png)
Уже на этом моменте я начал понимать, что что‑то идет не так, проводов слишком много и их никуда не деть, но отступать было поздно. Были проведены испытания системы радиоуправления.
![](https://habrastorage.org/getpro/habr/upload_files/4aa/7c6/7ab/4aa7c67abfad6f6e9550c3babf426309.png)
Программирование оказалось не особо сложным. Все необходимые инструкции по использованию специальных библиотек для радиомодуля и сервопривода есть в открытом доступе в интернете. Единственное, что заставило меня запариться и искать решения в интернете, это проблема с заливкой скетча на Arduino Nano. Программа просто выдавала ошибку без четкого указания на проблему. А ларчик‑то просто открывался: нужно зайти во вкладку Инструменты → Процессор и выбрать вариант (Old Bootloader), и тогда всё заработает как надо.
![](https://habrastorage.org/getpro/habr/upload_files/e7b/5d7/450/e7b5d7450009a9e173b394493277c632.png)
Итог
Из-за огромного числа проводов модель получилась большой по габаритам. Тем не менее, функцию свою она выполняет.
![](https://habrastorage.org/getpro/habr/upload_files/4f7/b14/b30/4f7b14b3040739f4d336a8319e20c58d.png)
![](https://habrastorage.org/getpro/habr/upload_files/ae6/5c4/8bb/ae65c48bbcb2b578858735a9ea2f585c.png)
На корме имеется крышка для замены аккумулятора. Для зарядки я сделал небольшое устройство на базе модуля TP-4056.
![](https://habrastorage.org/getpro/habr/upload_files/58e/bfb/a1c/58ebfba1c4dd4dd1793fbac6132af05f.png)
Итоговая стоимость модели вместе с пультом и зарядником составила 2300 рублей. Значит, две такие модели, составляющие один набор, будут стоить 4600 рублей, что дешевле многих магазинных аналогов.
Подытоживая, могу сказать, что полноценная сборка модели на основе макетной платы — не очень хорошая мысль. Если хотите, чтобы модель работала долго, надежно, при этом не занимала полкомнаты, но не имела возможности к быстрому расширению своего функционала, лучше запарьтесь и сделайте индивидуальную печатную плату под это дело.