Bluetooth copter

Осенью появился у меня android’ный телефон. А, так как, я давно хотел себе вертолет, решил соединить эти два устройства.) И приспособить вертолет под управление с помощью bluetooth. При поиске информации о том, как это сделать, узнал об arduino, что в значительной степени облегчило реализацию моей идеи.
На фото уже переделанный вертолет:

Более подробная информация:
Часть 1. Железо
Часть 2. Программирование

В качестве платформы для испытаний был выбран китайский соосник Double Horse 9097. Собственно переделывать аппаратную часть вертолета особо не пришлось. Единственное, что нужно было от его электроники - это гироскоп. Естественно можно использовать и другой.

В роли Bluetooth приемника вертолета выступает модуль BTM-112. Arduino nano обрабатывает принимаемые команды и вырабатывает сигналы управляющие двигателями. Два основных двигателя управляются транзисторами, хвостовой драйвером L293D. На фото первая версия, где хвостовой мотор был лишен реверса и тоже подключался через транзистор.

Arduino монтируется на мини шилде, названым мною Copter board. На нем есть места под транзисторы, ограничивающие диоды, разъем радиомодуля, входы гироскопа.
Гироскоп удерживает вертолет от поворота. Его выходное напряжение и опорное подаются на аналоговые входы arduino. Сенсор был демонтирован из родной платы верта и двусторонним скотчем прикреплен на плату bluetooth модуля.

Небольшое видео вертолета в действии:

video.mail.ru/mail/anotherrain/_myvideo/1.html

  • 2064
Comments
mPich

если цель была приложить умелые руки к объекту для аннигиляции творческого зуда то она несомненно достигнута 😉

однако пока Капитан Очевидность в отпуске хотел бы сказать, что елозить вслепую пальцами по гладкому стеклу то еще удовольствие .

Delirium
mPich;bt67157

… что елозить вслепую пальцами по гладкому стеклу то еще удовольствие .

3d крутить будет тяжело конечно. А полетать блинчиком в ограниченном пространстве, на что сбстно и рассчитан верт, телефон позволяет.😃

AlcoNaft43

Мужик однозначно! Кстати, а если аксели телефона задействовать для крена - тангажа?

Delirium
AlcoNaft43;bt67171

Мужик однозначно! Кстати, а если аксели телефона задействовать для крена - тангажа?

Спасибо! По критерию цена/масса/точность они конечно уступят китайским платкам с сенсорами. Однако, если объединить вычислительные возможности телефона, с встроенным GPS и фитчей управления через СМС:), может получится интересный результат, на мой взгляд.

lenin959

Сомнительное удовольствие управлять соосником (трехканалкой по умолчанию) 400-го класса…

Delirium
lenin959;bt67180

Сомнительное удовольствие управлять соосником (трехканалкой по умолчанию) 400-го класса…

Для вертолетных гуру, стопудов! А мне не мало удовольствия доставила эта игрушка.😛

lenin959
Delirium;bt67183

Для вертолетных гуру, стопудов! А мне не мало удовольствия доставила эта игрушка.😛

да я так, блинчики и восмерки хвостом к себе кверх лыжами вниз ОР. Видел, как эта трехканальная вундервафля маневрирует и стало холодно спине что-то. 😃)

Delirium
lenin959:

да я так, блинчики и восмерки хвостом к себе кверх лыжами вниз ОР. Видел, как эта трехканальная вундервафля маневрирует и стало холодно спине что-то. 😃)

Мои девайсы тяжеловаты получились, боялся меньший не поднимет. При переходе от arduino к чистому микроконтроллеру и SMD элементам, можно электронику и в миликоптер какой-нибудь поставить.

AlcoNaft43
Delirium;bt67173

Спасибо! По критерию цена/масса/точность они конечно уступят китайским платкам с сенсорами. Однако, если объединить вычислительные возможности телефона, с встроенным GPS и фитчей управления через СМС:), может получится интересный результат, на мой взгляд.

Моя не о том 😃 Моя о том, что бы использовать акксели-гиры телефона как органы управления. Наклоняем телефон - наклоняем вертолет.

Delirium
AlcoNaft43;bt67196

Моя не о том 😃 Моя о том, что бы использовать акксели-гиры телефона как органы управления. Наклоняем телефон - наклоняем вертолет.

А у меня уже фантазия разыгралась.😃 Ну при такой постановке вопроса, все реализуемо вообще без проблем. В прототипе моей програмки для android’a даже было реализовано подключение к сенсорам и считывание инфы с них. Я эту опцию сохранил даже (для будущего), однако не стал связывать с управлением. А так в подобных прогах эта функция имеется.)

ilyxascrat

Супер! С удовольствием продолжение почитаю (если будет)!

Delirium
ilyxascrat;bt67199

Супер! С удовольствием продолжение почитаю (если будет)!

Спасибо! Продолжение будет, правда пока не совсем ясно какое.😃

ilyxascrat

Я пожадничал и купил уно вместо nano/mini - зато поднабрал разного “хлама” аля компас, гиры и тд. - такое на борт втащить проблемно. Код расчета для управления сами писали или из какого-то проекта взято?

Delirium
ilyxascrat;bt67215

Я пожадничал и купил уно вместо nano/mini - зато поднабрал разного “хлама” аля компас, гиры и тд. - такое на борт втащить проблемно. Код расчета для управления сами писали или из какого-то проекта взято?

Ммм, разный хлам датчики - это вкусно!😃 Прошивку arduino писал сам, поэтому там все предельно просто. Управляющий сигнал пропорционален координатам touch’а, чувствительность гироскопа тоже регулируем пропорционально. Поворачиваем смещая ноль гиры (так меньше кода писать пришлось). Самый гемор был с портом последовательным рабоатать. Да и структура передаваемых команд, наверное, не самая удачная у меня.

ilyxascrat

ну, выпадение единичного бита из посылки вполне может исказить всю картину мироздания. Вроде BT не даст гарантий полной доставки - потому требуется некая контрольная сумма. Еще ИМХО - с тех же соображений - сначала прием всей последовательности - например, фиксированной длинны и с фиксированными позициями, ее сборка и очень простое чексуммирование (xor, как вариант - на “выхлопе” - 0 или 1). Все - ИМХО, идея понравилась, попробую на коленке погородить огород сам.

Delirium
ilyxascrat;bt67234

… с тех же соображений - сначала прием всей последовательности - например, фиксированной длинны и с фиксированными позициями, ее сборка и очень простое чексуммирование (xor, как вариант - на “выхлопе” - 0 или 1). Все - ИМХО, идея понравилась, попробую на коленке погородить огород сам.

Буквенных id для этой задачки казалось достаточно, помехи наблюдал, только при переполнении буфера, там действительно последовательность не вся проходила. Поставил от этого костыль в виде задержки на 10мсек.😃 Хотелось бы посмотреть на реализацию с проверкой команд. Удачи в начинаниях!😃

ilyxascrat

😃 Главное - не потеряться 😃 Намек понял - что-нибудь попробую изобразить, если выйдет - черкану!