- Управление моделью с андроид
- Игрушки-шпионы и гоночные машинки управляемые со смартфона!
- Вступление
- Выбор моделей для покупки
- Silverlit Ferrari Enzo
- Silverlit 86068 Car Kit Porsche
- i-Spy Tank
- Rover 2.0 App-Controlled Wireless Spy Tank
- Машинка на Arduino, управляемая Android-устройством по Bluetooth, — полный цикл (часть 1)
- Введение
- Немного об уровне, авторе и предостережения
- Задача
- Понадобится
- Основа конструкции
- Установка Arduino
- Определение угла поворота
- Подключение угла и код
- Распараллеливание ходовых колес
- Подключение Bluetooth
- Система отправки команд
- Заключение первой части
Управление моделью с андроид
Попала мне в руки RC-Модель, на которой кроме рамы с кузовом, рулевой машинки, коллекторного двигателя и аккумулятора ничего не было.
Пойти и купить пульт и приемник мне показалось слишком простым решением и посмотрев на маленький TP-link MR3020, решил собрать пульт управления сам.
Духовным наставником была эта тема.
Изначально хотел управлять машинкой через веб-интерфейс, но 4 кнопками на форме тут не отделаешься, потому что надо рулить сервой и управлять коллекторным двигателем ( Регулятор скорости КД управляется так же как и серва через ШИМ. 0 — max назад, 90 — нейтраль , 180 — max вперед).
И по этому решил разобраться с Android SDK и написать софт для управления. Но все мои попытки были тщетны, я так и не смог запустить SDK на своем ПК
Пока искал решение своего вопроса в интернете, наткнулся на средство разработки Adobe AIR и очень интересную для меня статью Создание простой игры для Android на AIR, в которой было разжевано управление акселерометром. Его то я и решил использовать для управления машиной.
Ничего трудного в написании софта я не обнаружил, быстро разобрался с синтаксисом языка, и написал тестовое приложение которое отображало на экране данные для отправки.
Далее возник вопрос, а как передавать данные ?
От СинеЗуба отказался сразу, потому что его надо было покупать
По этому решено было использовать возможности роутера по полной, и передавать данные по wifi.
Тут сложностей так же не возникло. Adobe AIR умеет работать с TCP соединениями и на офф базе знаний есть примеры.
На роутере поднял ser2net на порт uart. Так же спаял небольшой шилд для него, на который вкорячил arduinку с минимальным обвесом.
Питается все от аккумулятора машины. Регулятор скорости на выходе дает стабильные +5В. ( единственное при серьезной нагрузке на мотор, напряжение падает и соответственно все вырубается).
Управляется машинка крайне сложно, что конечно меня расстроило. Но все равно результатом доволен.
Поигрался я чуть-чуть и понял, что чего то не хватает.
Роутер есть, а камеры нет. Камеру подключил, настроил, допилил софт и вуаля, есть картинка на девайсе
К сожалению не дописал ограничение значений для сервы, что бы она не заламывала рулевую при сильном повороте.
Сейчас хочу переписать софт, изменив способ управления.
Спасибо за внимание.
Источник
Игрушки-шпионы и гоночные машинки управляемые со смартфона!
Игрушечный автомобиль на дистанционном управлении для многих поколений мальчишек остается желанной мечтой. Никакая видеоигра не передаст ощущения того, что ты действительно можешь что-то физически контролировать, как это возможно с радиоуправляемой машинкой. Сегодня реализовать это все на практике стало еще проще благодаря мобильным технологиям.
Вступление
В этом обзоре мы решили рассмотреть интересную категорию компактных радиоуправляемых автомобилей и вездеходов. Такие игрушки всегда были весьма дорогим удовольствием, часто недоступным для многих покупателей. Однако сегодня появляется все больше устройств на дистанционном управлении, цена на которые существенно ниже, потому что в качестве пульта используется самый обыкновенный смартфон на Android или iOS.
Чтобы покупать модные гаджеты в США и отправлять покупки надежным способом в Россию, регистрируйтесь в Бандерольке. Вы получите адрес в штате Делавэр, на который будут поступать заказы. Со склада Бандерольки вы оформляете доставку в Россию до своего дома или в ближайший пункт ПВЗ.
И если маленький автомобиль оснащен лишь простой возможностью передвижения, то продвинутые вездеходы несут на борту беспроводную ИК-камеру ночного видения, передающую потоковое видео на экран устройства и ведущую фото/видеосъемку. Также, они поддерживают голосовую связь на расстоянии и прочие интересные функции.
Есть ряд моментов, которые стоит учитывать при покупке игрушки, а именно: экономичность потребления энергии, тип элемента питания (встроенный аккумулятор или батарейки), дальность контроля по радиочастотному каналу (для Bluetooth — до 10 м, для Wi-fi — до 50-100 м), скорость движения. Проблема игрушек на батарейках в том, что элементы питания необходимо регулярно заменять, либо же сразу покупать дорогие перезаряжаемые. К тому же, такие батарейки (NiMH и NiCD) придется держать на зарядке длительное время, а еще они подвержены «эффекту памяти» — потере емкости в случае нарушения рекомендованного режима зарядки. Для маленьких радиоуправляемых машин идеальным вариантом является наличие в стандартной комплектации литий-ионного аккумуляторного блока с подзарядкой от компьютера.
Выбор моделей для покупки
Помимо продаж через официальные магазины и сети дистрибьюторов, многие производители предлагают свою продукцию по выгодной цене на ]]> Амазоне ]]> , ведь именно эта интернет-площадка славится огромным притоком посетителей и всячески пытается поддерживать высокий уровень обслуживания (чего стоит один только ]]> Amazon Prime ]]> — подробнее о нем в нашей статье). Благодаря многочисленным отзывам посетителей, легко сделать выводы о качестве продукции того или иного бренда. В процессе самостоятельного поиска машинок и вездеходов с управлением на Android и iOS вы увидите достаточно много негативных откликов покупателей. Пользователи сетуют на многочисленные недостатки радиоуправляемых моделей. По этой причине мы сделали свою подборку товаров от проверенных производителей: ]]> ZenWheels ]]> , ]]> Silverlit ]]> , ]]> Happy Cow ]]> , ]]> Midea Tech ]]> , ]]> Brookstone ]]> .
One ZenWheels Micro Rc Car
Канадская компания ]]> ZenWheels ]]> занимается созданием миниатюрных машин с Bluetooth-управлением. Как это ни удивительно, но их товары по вкусу далеко не только детям! Суть в том, что в подвижном гаджете установлено реечное рулевое управление, которое, в свою очередь, обеспечивает плавность езды и высокую маневренность. Более того, в крошечных автомобилях работают поворотники, фары, звуковое оповещение (в том числе сигнализация). Такие приятные детали выделяют One ZenWheels Micro Rc Car среди аналогичных радиоуправляемых машинок.
Для управления машинкой достаточно скачать бесплатное приложение с официального сайта. К слову, ZenWheels разработали весьма удачный беспроводной протокол для контроля за функциями игрушки. В стандартной комплектации есть также 10 небольших конусов-препятствий для тренировки маневров любой сложности.
]]> Купить One ZenWheels Micro Rc Car на Амазоне за 89.99$ ]]>
Silverlit Ferrari Enzo
Silverlit — еще один отменный производитель гаджетов с управлением по Bluetooth для iPhone, iPod и iPad. Спорткар Silverlit Ferrari Enzo — это точная копия машины, выполненная по лицензии автогиганта Ferrari в масштабе 1:50. Нужно отметить прекрасное управление с помощью iOS-приложения, в котором программная оболочка повторяет своим дизайном приборную панель настоящего автомобиля.
Благодаря акселерометру управление и ускорение дается легче на интуитивном уровне, что также повышает маневренность машины.
]]> Купить Silverlit Ferrari Enzo на Амазоне за 61.99$ ]]>
Silverlit 86068 Car Kit Porsche
Еще одна интересная радиоуправляемая модель машины — точная копия Porsche 911 Carrera в масштабе 1:16. Благодаря датчику столкновений в игрушке и эффекту вибрации мобильного устройства, гонки будут ощущаться намного динамичнее. У модели работают фары, «аварийка». Нужное освещение включается автоматически в зависимости от направления. Для большей реалистичности разработчики внедрили звуковое сопровождение для мобильных устройств Apple (шум мотора).
]]> Купить Silverlit 86068 Car Kit Porsche на Амазоне за 43$ ]]>
i-Spy Tank
Это небольшой шпионский вездеход с управлением на «яблочных» устройствах от компании ]]> Happy Cow ]]> . Радиоуправляемая модель умеет транслировать потоковое изображение со звуком прямо на экран мобильного телефона или планшета, которое при помощи софта можно записать. Для этого на башне установлена поворотная камера, меняющая не только горизонтальный, но и вертикальный ракурс.
Режим ночного видения позволяет рассматривать предметы в темноте. Явное преимущество i-Spy Tank — это реализация беспроводного управления по Wi-Fi (4-канальность), так что радиус действия сигнала варьируется от 70 м на открытом пространстве, и до 35 м в помещении с учетом стен. Акселерометр смартфона обеспечивает реалистичное рулевое управление. Питается вездеход шестью аккумуляторными батарейками типа AA (в комплект не входят), которых достаточно для 80 минут активной эксплуатации.
]]> Купить i-Spy Tank на Амазоне за 79.99$ ]]>
Rover 2.0 App-Controlled Wireless Spy Tank
Это модель вездехода от ]]> Brookstone ]]> очень похожа на предыдущую, ведь совмещает те же самые функции и решает аналогичные задачи. С Rover 2.0 шпионские видеосъемки будут интересней, ведь в отличие от i-Spy Tank тут установлена широкоугольная поворотная видеокамера с улучшенным ночным видением.
Программное обеспечение для iOS и Android открывает множество функций, в том числе онлайн-трансляцию на смартфон/планшет, моментальную загрузку отснятого контента в социальные сети.
В комплекте идут 6 батареек AA, которых должно хватить лишь на первое время.
]]> Купить Rover 2.0 на Амазоне за 119.99$
Мир цифровых гаджетов не перестает удивлять. Игрушки с дистанционным управлением на смартфоне или планшете порадуют не только ребенка, но и позволят развлечься взрослым в скучной офисной обстановке. Если вы любите скоростные гонки, обратите внимание на продукты ZenWheels и Silverlit, тогда как вездеход с видеокамерой— настоящая находка для шпионов!
Ну вот и все, регистрируйтесь на нашем сайте и покупайте современные игрушки в США, ведь это просто и выгодно!
Источник
Машинка на Arduino, управляемая Android-устройством по Bluetooth, — полный цикл (часть 1)
Введение
Подробная история того, как из трех двигателей была собрана машина на Arduino, управляемая Android-устройством по Bluetooth. В нескольких десятках абзацев постараюсь максимально пошагово изложить, куда подключить каждый из проводов, как написать фирменное приложение и на каких детских граблях пришлось попрыгать больше недели.
Немного об уровне, авторе и предостережения
Я, автор, пацан 16-17 лет с подмосковной деревни, специализируюсь на написании android-приложений (а там сложнее что-то сжечь), поэтому ответственность за оптимальный подход к решению задач с себя снимаю.
Практически каждый из нижеописанных этапов занимал у меня больше, чем стоило бы, времени. Наверно, именно по этой причине хочу поделиться опытом. И при этом буду очень рад, если поругаете за ошибки и подскажите за оптимизацию.
Задача
Понадобится
Основа конструкции
За основу была взята машина Lego Outdoor Challenger (в реальности выглядит менее пафосно). Все, что от нее осталось: корпус (все элементы украшения сняты) и три двигателя.
У машинки была своя плата, но одна из задач подразумевала универсальность: это сделал я, это смогут повторить другие. Мозги вынул, поставил Arduino Uno.
Установка Arduino
Создатели почему-то не предусмотрели места для Arduino, потому крепил на шурупы, просверлив пластик. Под плату подложил фанеру, чтобы ничего не закоротило. Под шурупы лучше подсунуть что-то пластиковое (кусочек бутылки), ибо плата от железный болтов не защищена.
Поверх платы сразу поставил две motor shiled, так надо. Чтобы управлять второй, придется прокинуть один провод с любого digital порта на H1 (направление) и второй с пина с поддержкой шима (помечены знаком «
», обычно 10, 11) на E1 (скорость).
Определение угла поворота
За поворот машинки отвечает на удивление не сервопривод, а обычный двигатель. Встает проблема: хорошо бы было его не сжечь, ведь угол поворота ограничен, а крутиться двигатель может сколько угодно.
Вариант с методом тыка отпадает, так как при разном уровне батареи количество тока, подаваемое на двигатель, будет изменяться, что приведет к постоянно меняющемуся углу. Крутить до упора тоже нельзя, рано или поздно рассыплются шестеренки.
Решение проблемы: отслеживать угол через замыкание. На фото продемонстрирована небольшая штучка, которая крепится недалеко от поворотного механизма. На часть, которая крутится вместе с колесами влево/вправо двигателем, прикрепляется гребешок с железными контактами.
Принцип работы: к каждой линии припаивается провод (всего их четыре), нижний подключается к плюсу (он зажат гребешком всегда, см. картинку), остальные провода уходят на минус. Когда зубик гребешка попадает и на нижний ряд, и на, допустим, третий, происходит замыкание, ток течет, это замечает Arduino.
Благодаря различным комбинациям трех полос, можно определить до семи углов. Например, когда ток есть на всех линиях, колеса повернуты в крайнее правое положение, когда ток есть только на верхней, колеса повернуты максимально влево. В таблице предоставлены все варианты.
Подключение угла и код
Для каждого уровня был выбран свой цвет: нижний – зеленый, первый снизу – красный, второй – черный, третий – белый. На начальном этапе использовались breadboard и светодиоды для визуальной отладки.
Схема подключения показана на рисунке. Плюс тянем к зеленому, остальные протягиваем к минусу. Через резистор, установленный для устранения помех и отсутствия КЗ, подключаем провода к выходам A0-A2. Выбраны они просто из экономии остальных портов.
Код дан с комментариями. Подключаем пины и опрашиваем их через digitarRead(). Если напряжение есть, вернется значение true. Далее смотрим, если результат означает, что колеса в крайних положениях, запрещаем дальнейший поворот в эту сторону.
Небольшая хитрость: поскольку выходы на 5В и 3.3В понадобятся в будущем, можно поставить плюс на один из digital-пинов. Перед каждой проверкой угла выдавать ток через digitalWrite(whitePin), потом проверять угол и убирать ток.
Распараллеливание ходовых колес
Изначально два ходовых двигателя соединены вместе. Их рассоединил по двум причинам: поворот эффективней, если колеса крутятся в разные стороны, и два мощных двигателя одна плата не вытянет.
Проблема: у motor shield два выхода, каждый из которых выдает до 2 ампер. Каждый двигатель ест по 0,7А. Вроде меньше, но не при максимальных нагрузках. Допустим, машинка застряла в песке или уперлась, ток возрастает выше ампера. Не критично, но потенциально опасно.
А вот критичным оказалось то, что плата греется. Через минуты полторы после заезда, motor shield нагревалась и начинала работать безобразно: токи подаются не те, колеса не крутятся и прочее.
Решение обоих проблем: один двигатель подключил к одной motor shield, второй – к другой. Как ни странно, помогло. Температура упала, перегрев отсутствует. Можно было поставить радиатор, но крепить тяжело.
Подключение Bluetooth
Я использовал модель HC-05, что сыграло роковую шутку. Подключаются все блютузы одинаково: один провод на 3.3В (иногда начинал работать только от 5В), второй на минус, еще два на порт 0 и 1 (чтение и отправка соответственно). Провод, подписанный RXD на bluetooth, втыкается в TXD ардуино, а TXD в RXD (если перепутаете, то данных не увидите).
Есть оговорка: порты 0 и 1 по умолчанию используются Serial, через который заливает скетч. То есть, пока воткнут блютуз, скетч не зальется. Есть два выхода: вынимать блютуз на время заливки или переназначить входы и выходы блютуза. Второй вариант осуществляется двумя строчками
Подводный камень, съевший у меня трое суток работы – скорость общения. По привычке установил 9600 и пошел пробовать. То данные не приходили, то была каша символов. И в конце концов ответ – модель HC-05 общается на 38400! Очень сильно обратите внимание на то, что в Setup() я выполню BTSerial.begin(39400), хотя Serial.begin(9600).
Система отправки команд
Статья становится слишком длинной, поэтому рассмотрение кода Arduino и Android вынесу в отдельную вторую часть, а сейчас опишу принцип.
На андроид устройстве есть джойстик (круг, о реализации которого также во второй части). Андроид считывает показания с него и конвертирует их в подходящие для ардуино числа: скорость из пикселей превращает в значение от -255 до 255 (отрицательные – задний ход), а также определяет угол. Я сознательно отдал эту задачу телефону, так как он куда мощнее и спокойно справится с подсчетом нескольких сотен значений в секунду.
После установки сокета данные отправляются в следующем формате: @скорость#*угол#. @ — говорит о том, что следующие цифры содержат скорость, # — извещает об окончании значения скорости, * — начало значения угла, # — закончить запись угла. Цикл бесконечен, команды отправляются каждые 100 миллисекунд (цифра подобрана оптимальная). Если ничего не нажато на андроиде, то ничего и не отправляется.
Алгоритм приема данных подробно описан в коде скетча. Он не раз переписывался и, как по мне, работает идеально.
Заключение первой части
В этой статье я попытался раскрыть все, что касается физической части машинки. Вероятнее всего, что-то упустил, так что обязательно спрашивайте.
Но самое интересное, как по мне, осталось на второе – программа Arduino и приложение на Android, там творится настоящая магия, по крайней мере, для молодого меня.
Источник