Найти в Дзене
Дмитрий Чернов

Как собрать простого робота на Arduino

Оглавление

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

Что такое Arduino

Можете считать, что Arduino — это простейший компьютер, который можно запрограммировать на выполнение команд. Существует несколько модификаций.

-2

Cамая популярная плата — Arduino UNO R3.

Оригинальная версия стоит около 1000₽, а вот китайскую копию можно взять за 250₽.

Я покупаю копии на Aliexpress.com. Иногда копия требует танцев с бубнами, зато она дешевая и ее не жалко спалить.

Еще к плате существует огромное количество различных модулей или датчиков (которые тоже можно закупить пачками на Aliexpress). Есть датчики, которые измеряют влажность, силу ветра, освещение, шум… есть те, которые позволяют проигрывать музыку с флешки, сенсорные экраны, датчики пульса или газа… Словом, на любой вкус.

Срезюмирую, Arduino можно считать простейшим компьютером, к которому можно навешивать кучу приблуд. Теперь перейдем к нашему роботу.

Строим робота

Список деталей

1. Arduino UNO R3 (подойдет любая платформа, даже Arduino Nano)
2. Серводвигатель (для поворота камеры)
3. Платформа с шасси
4. Микросхема L293D
5. Модуль BlueTooth Hc-06
6. Приблуда для питания макетной платы (
вот такая)
7. Макетная плата и соединительные провода
8. PowerBank или аккумулятор для питания робота

Основа робота — платформа с шасси. В этой версии я взял платформу с четырмя колесами. Еще есть платформы на двух колесах, они дешевле. Но у меня с двухколесной была проблема с ездой по прямой линии. Один моторчик крутился более туго, в итоге робот ездил по дуге. На четырех колесах он уверенно ездит прямо.

Схема сборки выглядит так:

-3

Прошу прощения за ад с проводами, старался расположить красиво как мог :)

Вот крупнее сложный момент:

-4

Начинать собирать лучше с микросхемы L293D. Просто втыкаем ее в макетную плату и начинаем лепить провода.

На схеме стоит два моторчика, на самом деле их четыре (по два колеса с каждой стороны). Второй мотор прикрепляется так же как и первый. Например, правый мотор у нас воткнут в отверстия “a12” и “a16” макетной платы, второй мотор справа можно воткнуть в отверстия “b12” и “b16”.

С модулем Bluetooth нужно быть внимательным. Его выход RX нужно соединить с разъемом “1 TX” на плате. А выход TX с разъемом “0 RX”. По этим двум проводам модуль и будет передавать сигнал. Разъем модуля Gnd нужно соединить с любым отверстием со знаком “-” на макетной плате, а VCC (питание) с любым отверстием “+”.

Аналогично подключаем сервопривод. У него красный провод означает питание (VCC), а черный “землю” (Gnd). Оставшийся белый провод (может быть и желтым) нужен для получения сигнала, его подключаем к выводу 9 платы.

На схеме изображена батарейка крона, в моем случае это PowerBank с возможностью подачи напряжения в 9V. Еще от PowerBank идет второй провод в приблуду для питания самой платы Arduino через USB кабель.

-5

Если вам показалась, что на схеме путаница с проводами, то в реальности это выглядит еще более страшно. Здесь главное не торопиться и не перепутать разъем.

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

-6

Для экономии места сама плата Arduino примотана на двусторонний скотч с другой стороны макетной платы.

-7

Крепление для камеры (iPod) слепили из железного конструктора. По хорошему нужно было придумать что-то более легкое, но железному конструктору можно придать любую форму, а это плюс.

-8

Коробку примотали двусторонним скотчем к платформе, резинкой прицепили датчики… осталось залить программу на плату Arduino, чтобы робот ожил.

Программирование Arduino

Я не буду описывать все хитрости программирования. Скажу лишь, что не будучи программистом не сложно научиться. Есть потрясающий русский учебник здесь и здесь. Еще есть отличная книга “Изучаем Arduino”, которой будет достаточно даже если вы никогда не программировали, а про электричество последний раз что-то слышали только в школе.

Программу для этого робота можно скачать здесь или на GitHub. Для закачки кода на платформу потребуется скачать среду разработки.

Управление роботом

Для того чтобы управлять роботом потребуется компьютер, ноутбук или телефон на Android. Команды отдаются через Bluetooth.

С ноутбука Mac нужно зайти в “Системные настройки”, выбрать раздел “Bluetooth” и создать пару с устройством (может потребовать пароль “1234” или “0000”).

Затем запускаем “Терминал” и вводим команду “ls /dev/tty.*”, она выведет список доступных портов, наш будет называться примерно так “/dev/tty.HC-06-DevB”. Чтобы к нему подключиться нужно ввести команду “screen /dev/tty.HC-06-DevB”.

С телефона на андроиде подключаться гораздо проще. Стоит закачать бесплатное приложение ArduinoRC. При запуске оно найдет доступные устройства (скорее всего оно будет только одно). Для подключения потребуется ввести пароль “1234” или “0000”.

Все, можно отдавать команды.

Управление роботом
* Цифры от 1 до 5: переключение скоростей
* W — вперед
* S — назад
* F — поворот вправо
* A — поворот влево
* Q — поворот влево (отъезжая назад)
* E— поворот влево (отъезжая назад)
“пробел”— остановка

Повороты камерой
* P — поставить по центру
* O — влево на 45 градусов
* I — влево на 90 градусов
* [— вправо на 45 градусов
* ]— вправо на 90 градусов

Конечно, камера в этой модели — это скорее читерство. Просто звоним через скайп на iPod и на мониторе ноутбука можно смотреть глазами робота :)

Теперь роботом можно играть с ребенком в прятки, смотреть что готовит мама на кухне и просто гонять по квартире. Сигнала Bluetooth хватает на всю квартиру.

В движении это выглядит примерно так

Постскриптум

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