Осенью появился у меня android’ный телефон. А, так как, я давно хотел себе вертолет, решил соединить эти два устройства.) И приспособить вертолет под управление с помощью bluetooth. При поиске информации о том, как это сделать, узнал об arduino, что в значительной степени облегчило реализацию моей идеи.
На фото уже переделанный вертолет:
В качестве платформы для испытаний был выбран китайский соосник Double Horse 9097. Собственно переделывать аппаратную часть вертолета особо не пришлось. Единственное, что нужно было от его электроники - это гироскоп. Естественно можно использовать и другой.
В роли Bluetooth приемника вертолета выступает модуль BTM-112. Arduino nano обрабатывает принимаемые команды и вырабатывает сигналы управляющие двигателями. Два основных двигателя управляются транзисторами, хвостовой драйвером L293D. На фото первая версия, где хвостовой мотор был лишен реверса и тоже подключался через транзистор.
Arduino монтируется на мини шилде, названым мною Copter board. На нем есть места под транзисторы, ограничивающие диоды, разъем радиомодуля, входы гироскопа.
Гироскоп удерживает вертолет от поворота. Его выходное напряжение и опорное подаются на аналоговые входы arduino. Сенсор был демонтирован из родной платы верта и двусторонним скотчем прикреплен на плату bluetooth модуля.
если цель была приложить умелые руки к объекту для аннигиляции творческого зуда то она несомненно достигнута 😉
однако пока Капитан Очевидность в отпуске хотел бы сказать, что елозить вслепую пальцами по гладкому стеклу то еще удовольствие .
… что елозить вслепую пальцами по гладкому стеклу то еще удовольствие .
3d крутить будет тяжело конечно. А полетать блинчиком в ограниченном пространстве, на что сбстно и рассчитан верт, телефон позволяет.😃
Мужик однозначно! Кстати, а если аксели телефона задействовать для крена - тангажа?
Мужик однозначно! Кстати, а если аксели телефона задействовать для крена - тангажа?
Спасибо! По критерию цена/масса/точность они конечно уступят китайским платкам с сенсорами. Однако, если объединить вычислительные возможности телефона, с встроенным GPS и фитчей управления через СМС:), может получится интересный результат, на мой взгляд.
Сомнительное удовольствие управлять соосником (трехканалкой по умолчанию) 400-го класса…
Сомнительное удовольствие управлять соосником (трехканалкой по умолчанию) 400-го класса…
Для вертолетных гуру, стопудов! А мне не мало удовольствия доставила эта игрушка.😛
Для вертолетных гуру, стопудов! А мне не мало удовольствия доставила эта игрушка.😛
да я так, блинчики и восмерки хвостом к себе кверх лыжами вниз ОР. Видел, как эта трехканальная вундервафля маневрирует и стало холодно спине что-то. 😃)
да я так, блинчики и восмерки хвостом к себе кверх лыжами вниз ОР. Видел, как эта трехканальная вундервафля маневрирует и стало холодно спине что-то. 😃)
Мои девайсы тяжеловаты получились, боялся меньший не поднимет. При переходе от arduino к чистому микроконтроллеру и SMD элементам, можно электронику и в миликоптер какой-нибудь поставить.
Спасибо! По критерию цена/масса/точность они конечно уступят китайским платкам с сенсорами. Однако, если объединить вычислительные возможности телефона, с встроенным GPS и фитчей управления через СМС:), может получится интересный результат, на мой взгляд.
Моя не о том 😃 Моя о том, что бы использовать акксели-гиры телефона как органы управления. Наклоняем телефон - наклоняем вертолет.
Моя не о том 😃 Моя о том, что бы использовать акксели-гиры телефона как органы управления. Наклоняем телефон - наклоняем вертолет.
А у меня уже фантазия разыгралась.😃 Ну при такой постановке вопроса, все реализуемо вообще без проблем. В прототипе моей програмки для android’a даже было реализовано подключение к сенсорам и считывание инфы с них. Я эту опцию сохранил даже (для будущего), однако не стал связывать с управлением. А так в подобных прогах эта функция имеется.)
Супер! С удовольствием продолжение почитаю (если будет)!
Супер! С удовольствием продолжение почитаю (если будет)!
Спасибо! Продолжение будет, правда пока не совсем ясно какое.😃
Я пожадничал и купил уно вместо nano/mini - зато поднабрал разного “хлама” аля компас, гиры и тд. - такое на борт втащить проблемно. Код расчета для управления сами писали или из какого-то проекта взято?
Я пожадничал и купил уно вместо nano/mini - зато поднабрал разного “хлама” аля компас, гиры и тд. - такое на борт втащить проблемно. Код расчета для управления сами писали или из какого-то проекта взято?
Ммм, разный хлам датчики - это вкусно!😃 Прошивку arduino писал сам, поэтому там все предельно просто. Управляющий сигнал пропорционален координатам touch’а, чувствительность гироскопа тоже регулируем пропорционально. Поворачиваем смещая ноль гиры (так меньше кода писать пришлось). Самый гемор был с портом последовательным рабоатать. Да и структура передаваемых команд, наверное, не самая удачная у меня.
ну, выпадение единичного бита из посылки вполне может исказить всю картину мироздания. Вроде BT не даст гарантий полной доставки - потому требуется некая контрольная сумма. Еще ИМХО - с тех же соображений - сначала прием всей последовательности - например, фиксированной длинны и с фиксированными позициями, ее сборка и очень простое чексуммирование (xor, как вариант - на “выхлопе” - 0 или 1). Все - ИМХО, идея понравилась, попробую на коленке погородить огород сам.
… с тех же соображений - сначала прием всей последовательности - например, фиксированной длинны и с фиксированными позициями, ее сборка и очень простое чексуммирование (xor, как вариант - на “выхлопе” - 0 или 1). Все - ИМХО, идея понравилась, попробую на коленке погородить огород сам.
Буквенных id для этой задачки казалось достаточно, помехи наблюдал, только при переполнении буфера, там действительно последовательность не вся проходила. Поставил от этого костыль в виде задержки на 10мсек.😃 Хотелось бы посмотреть на реализацию с проверкой команд. Удачи в начинаниях!😃
😃 Главное - не потеряться 😃 Намек понял - что-нибудь попробую изобразить, если выйдет - черкану!
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"49ee64553df955007776ef40":{"_id":"49ee64553df955007776ef40","hid":47203,"name":"AlcoNaft43","nick":"AlcoNaft43","avatar_id":null,"css":""},"4ac344443df955007776985b":{"_id":"4ac344443df955007776985b","hid":54348,"name":"ilyxascrat","nick":"ilyxascrat","avatar_id":null,"css":""},"4c1b8f433df955007775f82b":{"_id":"4c1b8f433df955007775f82b","hid":67810,"name":"mPich","nick":"mPich","avatar_id":null,"css":""},"4d9373523df95500777542f2":{"_id":"4d9373523df95500777542f2","hid":84798,"name":"lenin959","nick":"lenin959","avatar_id":null,"css":""},"4f09c6223df955007774a043":{"_id":"4f09c6223df955007774a043","hid":109869,"name":"Delirium","nick":"Delirium","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"4f0b47149970730077105875","hid":13342,"title":"Bluetooth copter","html":"<p>Осенью появился у меня android’ный телефон. А, так как, я давно хотел себе вертолет, решил соединить эти два устройства.) И приспособить вертолет под управление с помощью bluetooth. При поиске информации о том, как это сделать, узнал об arduino, что в значительной степени облегчило реализацию моей идеи.<br>\nНа фото уже переделанный вертолет:</p>\n<p><img class=\"image\" data-nd-image-orig=\"http://pics.livejournal.com/yrezz/pic/0007skc3\" src=\"http://pics.livejournal.com/yrezz/pic/0007skc3\" alt referrerpolicy=\"no-referrer\"></p>\n<p>Более подробная информация:<br>\n<a href=\"http://yrezz.livejournal.com/17510.html#cutid1\" class=\"link link-ext\" data-nd-link-orig=\"http://yrezz.livejournal.com/17510.html#cutid1\" target=\"_blank\" rel=\"nofollow noopener\">Часть 1. Железо</a><br>\n<a href=\"http://yrezz.livejournal.com/17683.html#cutid1\" class=\"link link-ext\" data-nd-link-orig=\"http://yrezz.livejournal.com/17683.html#cutid1\" target=\"_blank\" rel=\"nofollow noopener\">Часть 2. Программирование</a></p>\n<!--cut-->\n<p>В качестве платформы для испытаний был выбран китайский соосник Double Horse 9097. Собственно переделывать аппаратную часть вертолета особо не пришлось. Единственное, что нужно было от его электроники - это гироскоп. Естественно можно использовать и другой.</p>\n<p>В роли Bluetooth приемника вертолета выступает модуль BTM-112. Arduino nano обрабатывает принимаемые команды и вырабатывает сигналы управляющие двигателями. Два основных двигателя управляются транзисторами, хвостовой драйвером L293D. На фото первая версия, где хвостовой мотор был лишен реверса и тоже подключался через транзистор.</p>\n<p><img class=\"image\" data-nd-image-orig=\"http://pics.livejournal.com/yrezz/pic/0007qt4h\" src=\"http://pics.livejournal.com/yrezz/pic/0007qt4h\" alt referrerpolicy=\"no-referrer\"></p>\n<p>Arduino монтируется на мини шилде, названым мною Copter board. На нем есть места под транзисторы, ограничивающие диоды, разъем радиомодуля, входы гироскопа.<br>\nГироскоп удерживает вертолет от поворота. Его выходное напряжение и опорное подаются на аналоговые входы arduino. Сенсор был демонтирован из родной платы верта и двусторонним скотчем прикреплен на плату bluetooth модуля.</p>\n<p><img class=\"image\" data-nd-image-orig=\"http://pics.livejournal.com/yrezz/pic/0007r1sg\" src=\"http://pics.livejournal.com/yrezz/pic/0007r1sg\" alt referrerpolicy=\"no-referrer\"></p>\n<p>Небольшое видео вертолета в действии:</p>\n<p><a href=\"http://video.mail.ru/mail/anotherrain/_myvideo/1.html\" class=\"link link-ext link-auto\" data-nd-link-type=\"linkify\" data-nd-link-orig=\"http://video.mail.ru/mail/anotherrain/_myvideo/1.html\" target=\"_blank\" rel=\"nofollow noopener\">video.mail.ru/mail/anotherrain/_myvideo/1.html</a></p>\n","user":"4f09c6223df955007774a043","ts":"2012-01-09T19:59:16.000Z","st":1,"cache":{"comment_count":17,"last_comment":"4f0ca790997073007715b0fc","last_comment_hid":17,"last_ts":"2012-01-10T21:03:12.000Z","last_user":"4ac344443df955007776985b"},"views":2067,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}