Как стать автором
Обновить

Комментарии 41

С акселерометром круто конечно, но неудобно.
А почему неудобно? Каким способом Вы бы реализовали? Спрашиваю, потому что можно было бы усовершенствовать проект.
P.S. Помимо акселерометра есть еще управление с экранных кнопок.
Я бы сделал повороты планшетом как рулем в машине, а скорость пальцем на экране. Прикольно было бы еще на машину поставить wi-fi камеру и транслировать на планшет.
Коль юзать уже wifi то полностью перейти на него да и радиус покрытия по больше будет
Спасибо за идею, попробую так реализовать.
По поводу Wi-Fi: видео realtime с передачей mjpeg потока на планшет — рабочий прототип уже имеется, правда камера покупная полностью и не бюджетная. А с wi-fi управлением планы есть, но пока что никак не подберу подходящего Wi-Fi модуля для подключения к контроллеру. Китайские на ebay брать боязно из-за скудной документации, а WIZnet модули на офсайте продают мин. кол-во 2 штуки, а в России за них заламывают большую цену. Но наверное придется брать 2 шт. wiznet за неимением других вариантов
А если брать модуль wi fi модуль от ноута, как альтернатива, конечно жуткий боян выйдет, но дешевле чем winzet
Ну у меня во первых нет лишнего Wi-Fi модуля от ноутбука, во вторых остается открытым вопрос по документации. WIZnet не сильно дорогие, 25$ за модуль, просто мин. заказ 2 шт, получается 50$ за 2 модуля.
Может быть подойдет роутер TL-MR3020 и прошивка OR-WRT? У меня допустим в планах попробовать скрестить его и Ваше детище, если времени хватит.
Для управления по Wi-Fi подойдет. Я этот вариант прорабатывал. Но вот для real-time видео навряд ли. Я пробовал, у меня raspberry Pi не тянула поток даже с камеры logitech (хотел ее задействовать).
d-link 320-й c прошивкой от Олега + Logitech-камера + mjpeg-streamer успевает видео вполне
Почти реализовал такое управление, как вы предложили. Поворот машинки осуществляется поворотом планшета, а под большой правый палец рисуется вертикальный seekbar. Единственное — не придумал как реализовать задний ход: либо отдельную кнопку сделать, либо разделить ползунок на 2 части — двигаю вниз — машинка едет назад, двигаю вверх ползунок — машинка едет вперед. Скорость пропорциональна положению ползунка естественно.
А может обойтись без ползунка и скрестить 2 метода управления? Поворот влево/вправо и наклон вперед/назад. Возможно это будет не удобно, просто предположение.
Не очень понял вопроса. Имеете ввиду при помощи акселерометра? Если да, то это так и реализовано (см. видео).

P.S. Кстати как придет танк, реализую еще один метод управления: по бокам 2 ползунка, левый для левой гусеницы, правый для правой. Т.е. раздельное управление.
У Вас реализованы наклоны влево/вправо вперед/назад, а я имею ввиду поворот, как рулем.
Это тоже самое. А вообще возьмите в руки телефон и попробуйте поуправлять виртуальной машинкой по вашей задумке, особенно обратите внимание в каком будет положении телефон, когда полный газ (максимально наклонили планшет вперед) и поворот влево/вправо.
Смотря как крутить, а так я управлял даже реальной машинкой по Вашим исходникам)
Я бы сделал как в радиоуправляемых пультах. Т.е. под правый большой палец например регулятор скорости, а под левый переключатель взад-вперед.
О, классно, когда всё вместе есть, да ещё и с исходниками. Вы молодец.

Насчёт подключения пиропатрона — хотите стрелялку сделать, или прыгать будет, как блоха? :) Как я понял, у вас задумка большая, и это только часть её. Платформа внушает, на неё много чего можно поставить.

P.S. Сейчас к вам набегут рассказывать, как вы неправильно поступили, взяв .net, и как бы они всё ловко на ассемблере/сях закодили. Не слушайте
Сейчас к вам набегут рассказывать, как вы неправильно поступили, взяв .net, и как бы они всё ловко на ассемблере/сях закодили. Не слушайте

Ну этого я не боюсь, т.к. на такой же платформе 4WD реализовал на STM32, плюс на другом шасси реализовал на Arduino (processing), не ассемблер конечно, но все же…
Но вообще код контроллера не очень сложный, а вот над Android приложением голову пришлось немного поломать.
Кстати о коде… Вы злостный нарушитель С# Code Style Convention
Но если забить на педантизм, то гуд. Еще бы описали как среду разработки под .Net MF разворачивать (про аппаратную часть в том числе).
Не спорю, т.к. под ПК не программировал наверное с годов этак 96-97 (и то это был Visual Basic). Проект создавался исключительно для аудитории хабра, чтобы показать программистам, что и из под привычного для них инструментария разработки Microsoft Visual можно работать с контроллерами.
Про то как разворачивать среду под .NET Micro Framework Писал с год назад, но на другом сайте. Если интересно, то вбейте в поисковик «Начинаем работать с .NET Micro Framework».
Мне кажется краткий обзор сюда же (как дополнение) не помешает. Или хотя бы ссылку в конце поста.
Согласен!
Добавил линки в конце
Очень таки неплохо. А управление акселерометром очень отличное решение, правда машинка, как по мне, очень резко поворачивает.
Мне кажется это из-за того, что отсутствует рулевой механизм. Как автор сказал — система похожа на управления гусеничным траком.
Да именно так. К сожалению, пока что не располагаю гусеничной платформой, но в планах приобрести и немного модернизировать проект
Все настраивается в приложении под Android. Можно сделать, чтобы не так резко поворачивала. Ну и плюс меньше наклон планшета вбок — меньше поворот.
Отлично сделали!
Недавно реализовал нечто подобное (синезуб+Андроид+Ардуино) для декоративной подсветки.
И там столкнулся с проблемой: дело в том, что при использовании модуля HC-05 невозможно корректно принять несколько символов одновременно — в серийный порт приходил полный бред — проблема в синезуб-модуле.
Из проблемы вышел, посылая односимвольные команды.
Жаль, что не слышал на тот момент про Netduino — все таки маловато статей про этот контроллер, по сравнению с Ардуино.
Теперь буду знать :) Спасибо.
Круто. Единственное смущает — класс чересчур большей класс Program в коде .net. Почему не распихать в разные классы?
а для чего писать во флеш время потери связи? есть же RAM? Или предусматривается пропадание питания и затем его автономное восстановление?
Если есть флэш в МК, то почему бы ее не использовать? А при каждом включении передавать значение по Bluetooth и писать значение в RAM ИМХО нецелесообразно. Хотя конечно кто на что горазд… Я решил так сделать, но вариантов может быть множество.
А вообще, это значение AutoOFF можно жестко задать в программе (там сейчас эта строка закомментирована), а все действия с FLASH памятью удалить, т.к. оно занимает не мало строчек кода (особенно в варианте машинки на STM32) и писалось чисто для демонстрации возможностей передачи данных с Android и записи по Flash. Думаю в системах «умный дом» и т.п. это очень пригодилось бы.
Вообще проект больше создавался как how-to в помощь начинающим роботостроителям, т.к. в принципе проект не очень то сложный и при наличии открытых исходников (я их постарался максимально прокомментировать) позволяет во всем разобраться самому. Для себя (как придет гусеничная платформа) буду делать более навороченный проект, описание со всеми исходниками естественно потом выложу. Но это уже будет не на .NET контроллере… FEZ Panda II совместно с граф. сенсорным экранчиком уйдет под климат-контроль управления батареями центрального отопления в квартире.
вас понял.
Обожаю Хабр!!!
Гуд! Интересно. Это именно то что хотел реализовать я, с учётом Вашего опыта надеюсь будет сделать проще! Был бы инвайт, не пожалел бы.
Он уже есть, а написано вроде что из песочницы. Странно
Я публиковал из песочницы не имея инвайта, до этого был эккаунт Р/О. После публикации НЛО дало мне инвайт. Как-то так…
А чтобы качать исходники надо на меге аккаунт зарегистрировать?
Вопрос снят, оказывается всего то надо было на галочку нажать
Появился новый проект на Arduino, плюс добавилась возможность просмотра Real-Time видео с Wi-Fi IP-камеры на Android-смартфоне, а также функции управления pan/tilt камеры.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.