Pull to refresh

Робот «Inchworm» на базе Arduino Nano

Developing for Arduino *
Sandbox
Настал год поступления в ВУЗ, и я задумался о проекте, который можно было бы представить на приВУЗовских конференциях, чтобы не париться по-поводу пресловутого ЕГЭ и олимпиад. Поговорив со своим учителем инфы, покапавшись на YouTube, решил собрать гусеницеподобного робота.

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

Вот что получилось в итоге:

image



Теперь обо всем по-порядку.

Конструктив

Задумавшись о конструкции будущей змейки, я просмотрел много видео уже готовых роботов, и в голове родился некоторый образ моей гусеницы: модульная система из нескольких одинаковых симметричных кусков подойдет в самый раз.
Всего в змейке задействовано три модуля: два работают на движение вперед-назад, а один отвечает за поворот констуркции.
Теперь о реализации модулей. Была задумка сделать кошерный корпус на 3D-принтере. Даже накидал макет в SolidWorks. Но по знакомству не получилось, а по-другому дорого и долго. Решил обойтись подручными материалами. На строительном рынке купил бобину перфоленты (строительной) и флюс активный, чтобы удобно спаивать конструкцию было.
В итоге, каждый модуль выглядит примерно так:

image

В основе сидит сервомашинка Hitec HS-311.

Электроника

image
Требования к функционалу электроники: управление сервоприводами в соответствии с принятыми командами.
Давно было желание поковырять Arduino, и этот проект стал просто идеальным поводом для покупки платы. Из семейства Arduino выбрал Nano из-за удобных габаритов и наличия на рынке. В качестве приемника команд выбрал Bluetooth Bee, которую пришлось заказывать и ждать около месяца. Пока ее не было, управлял гусеницей через COM-порт с переходиком на MAX232. Как доставили пчелку (BluetoothBee), в проге на ПК подправил COM-порт (bluetooth адаптер просто эмулирует его), а на Arduino пересел на библиотеку NewSoftSerial.h и подправил прогу по-минимуму, добавив инициализацию пчелки. Кстати, на Nano есть выход на 5В и на 3,3В — это просто золото, потому что пчелка кушает именно 3,3В.
Arduino впаял в макетку, добавил на нее удобные пины для подсоединения серв и добавил тумблер ( На конференциях очень удобно выбирать режим, переключая трехпозиционных тумблер: 1 режим – ничегонеделние, 2 режим — демонстрация реализованных типов движения, 3 режим – управление с компьютера).
В качестве питания использованы 4 батарейки ААА, закрепленные сзади гусеницы в удобном держателе, который пришелся как раз по размеру.

Программа Arduino

Хвала библиотекам, практически ничего не приходится считать вручную. Для управления сервоприводами уже написана библиотека Servo.h, так что остается указать серво, и записать в него угол, на который хотим установить: MiddleServo.write(90); Работа с последовательным соединением через Bluetooth – по сути то же управление через проводное соединение. Готовая библиотека – NewSoftSerial.h.
Исходник.

Программа ПК

Я использовал готовую библиотеку для работы с COM-портом. Bluetooth-адаптер эмулирует COM-порт, все само цепляется, никаких проблем не возникает. Затем происходит опрос нажатых клавиш при помощи GetAsyncKeyState и буквицы, поставленные в соответствие с нажатыми клавишами, передаются на Arduino для дальнейшего преобразования и выполнения.

Демонстрация:


Извиняюсь за низкое качество видео.
А так же типы движения крупным планом: 1, 2, 3.

Затраченные ресурсы:

Времени у меня ушло в сумме около суток на все создание. Куда больше на подбор материалов, ожидание доставки и ничегонеделание.
Денег потрачено около 3000 рублей.
Материалы, использованные в змейке, довольно просто достать. Пожалуй, только с Bluetooth Bee могут возникнуть трудности. Мне пришлось заказывать в Seeeduino Store. Но, при желании, можно змейку научить слушаться радио с xBee, которую достать значительно проще, но тогда для компа нужен соответствующий адаптер.

Плюшки:

1ый диплом на конкурсе «Шаг в будущее» (МГТУ им. Баумана)
2ой диплом на Intel-Династия-Авангард (отбор на Intel ISEF)

Возможно, я что-то упустил важное, так что с удовольствием отвечу на все вопросы.
Tags:
Hubs:
Total votes 107: ↑103 and ↓4 +99
Views 9.1K
Comments Comments 65