Робот — боевая машинка на ардуино

Экспериментируя с ардуино уно, создавая различные ардуино схемы, захотели создать управляемого робота — боевую машинку. Идея боевых роботов на базе Ардуино Уно возникла после просмотра видео робобитвы в стенах Уральского Федерального университета – можно посмотреть здесь. Задача созданных роботов — боевых машинок – острой пикой поразить шарик на боевой машинке соперника. При этом, попав в небольшую площадку на корпусе робота — боевой машинки можно заставить его замереть на 5 секунд и попытаться реализовать свое преимущество.

Создание робота – боевой машины  требует понимания и навыков работы сразу с несколькими компонентами. Не стоит приступать к созданию робота на Ардуино без получения базовых навыков работы с платформой Arduino. Они у нас есть, и мы приступили к работе.

Компоненты которые мы использовали:

  • Ардуино Уно — купить ардуино Уно  — можно здесь
  • Двигатели ардуино – купить двигатель ардуино — можно здесь
  • Провода(папа-папа,мама-мама,папа-мама)
  • Микросхема L293DNE привода двигателей
  • Инфракрасный (ИК) датчик – купить датчик — можно здесь
  • Пульт ИК управления
  • Аккумуляторы Li-ion 18650, батарея типа «Крона»
  • Светодиод

Для ленивых, есть наборы из компонентов, включая платформу и схему на базе ардуино уно, например, можно купить здесь. Их просто надо будет собрать. В том числе с различными вариантами управления: ИК, WiFi, Bluetooth.

Ардуино Уно

Есть множество вариантов программ, плат, но мы выбрали Ардуино UNO, эта плата наиболее популярна для подобных конструкций. Ее функциональная достаточность (по уровням сигналов, количеству цифровых и аналоговых входов/выходов и т.д.) для небольших задач, вроде нашей. Описание Ардуино UNO можно посмотреть здесь.

Конструкция платформы, привод, питание, и управление

Платформа

Платформа разработана с учетом минимизации размеров и возможной максимальной мобильности. Для простоты была выбрана трехколесная конструкция с двумя ведущими колесами рисунок 1.

Рис.1 Робот- боевая машинка (вид снизу)

На платформе установлен шток с иглой для поражения шарика противника. Также на платформе установлены све электронные компоненты, включая Ардуино UNO и  ИК приемник системы управления, а также светодиод, загорающийся при нажатии на площадку блокирования движения. Кроме того, на платформе установлена кабина водителя с водителем из детского конструктора Лего (но это — для завершенности внешнего вида машинки). Конструкция представлена на рисунке 2.

Рис.2 Робот — боевая машинка
Двигатели

Для того, чтобы что-то поехало, его надо снабдить колесами. В качестве приводоов применены двигатели с редукторами, представленные на рисунке 3.

У данного, дешевого варианта двигателей есть недостаток: у них разные механические и электрические потери и, как следствие, может существенно различаться частота вращения. Этот недостаток можно нивелировать настройкой в программе.

Управление приводами построено на микросхеме …. Наш вариант распиновки микросхемы представлен на рисунке 6.

Питание робота

Чтобы робот-машинка поехала, нужно правильно организованное, стабилизированное электропитание. Это можно сделать, подключив питание от розетки, батареи или аккумулятора. Мы выбрали раздельное (автономное) питание: Ардуино UNO – от батареи типа «Крона»  и привода – от блока из двух аккумуляторов Li-ion 18650 (на общей электрической схеме представлен первый вариант питания – от одного источника, впоследствии заменен на более правильный и оптимальный: с разнесением нагрузки системы управления и привода).

Схема электропитания робота – боевой машинки представлена на рисунке 3.

Рис.3 Схема электропитания робота – боевой машинки

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

ИК датчик

Управление  машинками выполняется инфракрасным сигналом с пульта. В качестве пульта применен пульт от детской игрушки «мини вертолет». Пульт представлен на рисунке 4.

Рис.4 Пульт управления

Этот пульт обладает избыточными возможностями управления, но зато удобен для формирования не только движения вперед, назад, вправо, влево, но и возможностью задать «плавное» изменение скорости движения в каждом из направлений, т.к. пульт имеет цифровую матрицу кодов управления 7х15 для двух рычажных переключателей, примерный вид которой показан на рисунке 5.

Рис.5 Таблица кодов пульта управления роботом – боевой машинкой

Приемник инфракрасного сигнала – датчик TL1838 (38 кГц). Питание ИК датчика 5 В  — от Ардуино Уно.

Схема управления боевой машинкой

Есть интересный вариант создания схем на базе Ардуино Уно — это редактор fritzing, наш начальный вариант схемы разработан в этом редакторе. Схема представлена на рисунке 6.

Рис.6 Схема управления боевой машинкой

Программа управления создана на языке, применяемом в Ардуино Уно, который очень похож на язык «C». Особенности языка – читать здесь.

Управление происходит следующим образом: программа управления считывает код с ИК датчика и в соответствии с кодом выполняет следующие действия: движение боевой машинки вперед, назад, вправо, влево или стоп (при отсутствии кода). При касании кнопки – площадки блокирования движения,  двигатели останавливаются и  включается  таймер задержки управления на 5 сек, и включается светодиод.  Скетч управления боевой машинкой можно посмотреть здесь.

Коды управления для каждого положения пульта управления , представленные на рисунке 5 предварительно определены используя специальную программу – скетч для считывания кодов с отображением на экране монитора программы IDE для ардуино.

Сама программа – скетч может быть написана в редакторе программы IDE ардуино. Загрузка  исполняемого файла в Ардуино Уно выполняется  из IDE. Подробнее о работе с программой IDE можно посмотреть здесь.

Испытание боевых машинок

Испытание боевых машинок проведено в виде соревнования – показано в клипе.

Удачных Вам конструкций.

Робот — боевая машинка на ардуино