Машинка управлением с андроида

Игрушки-шпионы и гоночные машинки управляемые со смартфона!

Игрушечный автомобиль на дистанционном управлении для многих поколений мальчишек остается желанной мечтой. Никакая видеоигра не передаст ощущения того, что ты действительно можешь что-то физически контролировать, как это возможно с радиоуправляемой машинкой. Сегодня реализовать это все на практике стало еще проще благодаря мобильным технологиям.

Вступление

В этом обзоре мы решили рассмотреть интересную категорию компактных радиоуправляемых автомобилей и вездеходов. Такие игрушки всегда были весьма дорогим удовольствием, часто недоступным для многих покупателей. Однако сегодня появляется все больше устройств на дистанционном управлении, цена на которые существенно ниже, потому что в качестве пульта используется самый обыкновенный смартфон на 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, тогда как вездеход с видеокамерой— настоящая находка для шпионов!

Читайте также:  Ежедневник для андроида планшета

Ну вот и все, регистрируйтесь на нашем сайте и покупайте современные игрушки в США, ведь это просто и выгодно!

Источник

Собираем свою Bluetooth машинку с управлением на Android

На последней сессии я как обычно тщательно готовился к экзаменам (то есть не знал, чем себя занять), и как по счастливой случайности, у меня образовалась радиоуправляемая машинка, большая и красивая, хотя и явно рассчитанная на детей. Поигравшись минут десять, я захотел ее модернизировать, а именно вместо неудобного джойстика с радиусом действия в 3 метра использовать коммуникатор с bluetooth. И удобнее, и дальность действия больше, и явно видны дальнейшие улучшения, о которых, как впрочем и о процессе прикручивания коммуникатора к детской машинке, и пойдет речь в данной статье.

Выбираем компоненты

В прошлом мы с приятелями написали собственную прошивку для роботов Lego Mindstorms NXT, поддерживающую удалённое управление роботом по bluetooth с Android-коммуникатора. Для экспериментов тогда была приобретена отладочная плата Olimex SAM7 с ARM7 на борту, которую в этот раз можно использовать в качестве управляющего контроллера.

В качестве шасси используем корпус игрушечной машинки.

Нужен bluetooth-модуль. Результат хотелось получить быстро, поэтому модуль был выбран из единственного доступного в магазине на тот момент BTM-112, хотя он оказался сравнительно дорогим.

Кроме того, оказалось, что управление с платы не может идти напрямую на моторы, нужен усиливающий контроллер (об этом чуть позже).

В сумме наши компоненты:

  • Машинка
  • Управляющий контроллер Olimex SAM7
  • Bluetooth-модуль BTM-112
  • Контроллер для управления моторами L298N

Теперь все необходимое у нас есть.

Соединяем bluetooth с управляющей платой

Для начала настроим доставку команд управляющему блоку. Схема соединения bluetooth-модуля и контроллера простая: по сути дела это UART с некоторыми управляющими ножками, то есть надо лишь присоединить модуль к интегрированному UART-контроллеру.

Программная составляющая не сильно сложнее. При соединении модуль пишет строку вида «CONNECT RE:MO:TE:BT:MA:CC xxx \r\n» , а при отсоединении — «DISCONNECT xxx \r\n» . Задача драйвера состоит в наблюдении за потоком символов и, в случае если сейчас активно соединение, передаче потока управляющему приложению. В итоге драйвер представляет собой конечный автомат, у которого переключение состояния означает переключение функции-обработчика.

Удалённое управление

Как было обещано, удаленное управление осуществляется с помощью Android-коммуникатора.

Наше прошлое приложение для Android (которое управляло Lego Mindstorms NXT, тоже посредством bluetooth) с помощью акселерометра отслеживало наклон коммуникатора и посылало соответствующие команды управления на NXT. Так что наиболее простым решением стало добавление протокола управления машинкой в уже существующее приложение. Сам протокол достаточно примитивен: фиксированная длина команды, фиксированный заголовок, после чего управление по осям X и Y.

Итак, на данном этапе мы можем “порулить” нашей платкой, правда моторы пока не подключены, так что индикация движений производится встроенными светодиодами (видео, к сожалению, нет, в этот момент снял только фотку), но всё равно прогресс есть, он виден, и это греет душу.

Соединяем управляющую плату с моторами

Изначально я думал, что смогу использовать управление со старой платы (зашитой в саму машинку), но оказалось, что использовать её в чистом виде нельзя, поскольку управление моторами было крепко сцеплено с радиочастью. Управлять моторами напрямую с ног головного контроллера тоже не получится из-за малой выходной мощности микросхемы. К сожалению, опыта в этой области у меня нет никакого (все-таки я программист, а не схемотехник), поэтому пришлось прибегнуть к помощи знакомых. По совету я взял микросхему усилителя L298N (избыточную для моих нужд, зато работающую из коробки) и собрал референсную схему.

Напомню, препарируемая машинка детская, и управление у нее немного хромает; когда я начал разбираться с моторами, я понял одну из причин. Для механизма поворота используется не сервопривод, а обычный электродвигатель, который может находиться в одном из трех состояний (выкл., вперед и назад). Таким образом, о плавном повороте мечтать не приходится.

В общем, функционально схема простая, один мотор используется как двигатель, второй мотор — как руль (у него стоит блокиратор на определенном угле поворота).
Для управления каждым мотором нужно подать напряжение на соответствующие управляющие ноги (положительное или отрицательное напряжение либо нуль). Напряжение измеряется между двумя точками (входными ногами управления), то есть мне нужно подавать напряжения на пару управляющих ног как-то так:

forward reverse off
PIN1 1 0 0 1
PIN2 0 1 0 1

Так как Android-приложение передает плавное управление, состояние моторов изменяется по преодолению заданного порога.
Код получился очень простой, я не буду приводить его здесь, но в конце поста есть ссылки на исходники всего проекта.

Понятно, есть недостатки:

  • Дискретное управление лево/право, вперед/назад. Сейчас управление моторами осуществляется с помощью GPIO, но выбранные для управления линии могут быть переназначены под PWM контроллер. Таким образом, повороты и ускорение будут плавным.
  • Дорогой усилитель. Тут всё просто, заменить на более дешёвую микросхему или схему на нескольких транзисторах.
  • Скромные возможности. Раз управление осуществляется с помощью смартфона, то можно как-либо расширить функциональность по сравнению с просто пультом управления.

Источник

CxemCAR — Android-управление машинкой по Bluetooth

После приобретения недорогого 7″ китайского планшета и экспериментами с взаимодействием с Arduino по USB и Bluetooth захотелось сделать что-то более серьезное и полезное для своих детей. Так родилась идея сделать машинку с управлением от акселерометра Android-устройства и связи по Bluetooth каналу. До этого я никогда не увлекался робототехникой или РУ управлением, но желание было. Были поставлены три цели:

1. Сделать максимально простое для повторяемости устройство, которое сможет повторить любой начинающий радиолюбитель, айтишник, программист, домохозяйка. Т.е. минимум пайки, ЛУТ и фоторезиста (да простят меня радиолюбители), а основной упор сделать на готовые, дешевые и главное доступные модули, которые без проблем можно приобрести. Хотя конечно ничто не мешает спаять собственную отладочную плату или драйвер двигателей.
2. Проект полностью должен быть Open Source и мультиплатформенным. В качестве железной части использовать все популярные и современные аппаратно-программные платформы: Arduino (Processing), STM32, MSP430, PIC, AVR, .NET Micro Framework и может быть даже Raspberry Pi.
3. Алгоритм управления полностью разработать самому с нуля, не читая при этом заумных книг по роботостроительству, а также сделать его максимально простым. Ну а в дальнейшем, уже можно будет повысить свой скил читая специализированную литературу и сделать более совершенное управление.

Управление машинкой (или гусеничной платформой) осуществляется путем наклона Android-устройства. Т.е. наклонили вперед — машинка едет вперед, наклонили влево — машинка поворачивает на лево, назад — машинка едет назад. Причем скорость движения или поворота зависит от степени наклона устройства. Чувствительность и величина наклона устанавливается в настройках Android-приложения. Данный способ управления достигается за счет доступа из программы к встроенному акселерометру (который сейчас имеется во всех современных Android смартфонах и планшетах).

Читайте также:  Activity manager для android

Реализован также гибридный способ управления: газ — при помощи ползунка на экране, а поворот модельки — при помощи поворота Android-устройства (как виртуальный руль). Для заднего хода — отдельная кнопка.
Предусмотрен и обычный способ управления от кнопок на экране, но он менее функционален и в основном служит для отладки и проверки работоспособности.
В дополнении ко всему, я ради спортивного интереса реализовал и тач управление, т.е. на экране отображается круг, и чем выше двигаете в нем маркер, тем быстрее едет машинка, чуть повели пальцем влево — машинка поворачивает.

Данные обрабатываются и передаются по Bluetooth каналу на контроллер машинки, который в свою очередь через драйвер двигателей управляет моторчиками машинки.

Компоненты

1. Android устройство

Итак, первое что прежде всего потребуется — это любое Android устройство: смартфон, планшет, часы и т.п., желательно с датчиком наклона (акселерометром) и Bluetooth (или возможностью подключения внешнего модуля через USB OTG). Я использовал китайский Ainol Aurora с внешней USB Bluetooth флэшкой. Цена такого устройства на сегодняшний день составляет менее 100$.

2. Шасси для машинки

Также понадобится любое шасси с 2-мя или 4-мя моторчиками. Это может быть как шасси для DIY проектов, так и шасси от старой б/у радиоуправляемой машинки.
Я купил готовое шасси на eBay. Кто еще не знаком с интернет-аукционом eBay, рекомендую для прочтения эту статью: покупка радиодеталей на eBay. Гарантирую, что сэкономите немало денег покупая там, а не здесь у перекупов. Также, можно воспользоваться и другими китайскими магазинами: www.aliexpress.com, dx.com и др. Найти шасси довольно легко, достаточно в поисковую строку вбить одно из словосочетаний: Robot chassis, Robot platform, DIY Car chassis и др. Стоимость варьируется от 20$ до 60$.

При выборе шасси обращайте внимание на питание и мощность двигателей, а также на обороты моторчиков и наличие редуктора. Хотя большинство платформ содержат стандартный 6В моторчик с редуктором.

Для принципа управления описанного в данном проекте, больше всего подходит гусеничная платформа, но т.к. у меня пока что ее нет, я реализовал проект на основе 4WD платформы.

3. Контроллер машинки

Как я уже говорил, проект планируется сделать мультиплатформенным. На текущий момент проект CxemCAR реализован для следующих аппаратных платформ:

«Мозги» робота не требовательны к быстродействию МК и количеству периферии, необходимый минимум, который должен поддерживать микроконтроллер: 2 ШИМ и UART.

Если вы никогда не имели дело с микроконтроллерами, то я советую вам для начала собрать этот проект на платах Arduino, т.к. во первых они достаточно дешевы (10-15$), а во вторых в сети и на этом сайте полно примеров, мануалов и т.п. Контроллеры STM32 и MSP430 более функциональны, но для новичка будут сложнее в освоении. Ну а для программистов, понравится один из вариантов данного проекта на FEZ Panda II с .NET Micro Framework, где в качестве среды программирования используется Microsoft Visual C# Express. Но нужно учесть, что сами платы FEZ не сильно распространены и купить их проблематично, хотя существует .NET вариант под Arduino форм-фактор под названием Netduino.

4. Bluetooth модуль

В качестве Bluetooth модуля использован дешевый китайский UART модуль HC-06. Подойдут модули вида HC-03, HC-04, HC-05, HC-06, да и вообще любые Serial Bluetooth. Лучше брать с готовыми штыревыми выводами, чтобы не пришлось паять, т.к. расстояние между выводами очень маленькое (см. 1-ой на фото внизу). Стоимость такого модуля на eBay составляет в среднем 5-10$.

Bluetooth модули и работа с ними применительно к Arduino, неплохо описаны в этой статье. Для других контроллеров все практически тоже самое, вот к примеру статья с описанием связи по Bluetooth между STM32 и Android.

5. Драйвер двигателя

В качестве драйвера я использовал специализированную микросхему L298N, которая представляет собой сдвоенный мостовой драйвер двигателей и предназначена для управления DC и шаговыми двигателями. На eBay продаются готовые платы со всей необходимой обвязкой, цена платы составляет 4-5$ и выглядит она приблизительно так:

Подключение к Arduino достаточно подробно описано в этой статье. В нашем проекте для плавного изменения скорости вращения двигателей, мы будем использовать ШИМ (широтно-импульсную модуляцию).

6. Остальные комплектующие

Помимо вышеперечисленных компонентов понадобятся:
— батарейный отсек (4-5 батареек АА) или аккумуляторы, можно использовать к примеру готовые блоки Li-Po аккумуляторов на 7.4В
— соединительные провода
— выключатель питания
— термоусадочная трубка, хомуты и др.

Все это конечно опционально и можно заменить тем, что есть под рукой, к примеру вместо термоусадки использовать изоленту и т.д.

Как видите, себестоимость машинки не так уж и велика, если использовать свое шасси с моторчиками, то выходит около 20-25$ на все, если покупать и шасси, то выйдет уже 45-60$ в зависимости от типа шасси (т.к. диапазон цен на них очень широк).

Вот, что получилось у меня:

Принцип работы

В Android устройстве формируются команды перемещения машинки в зависимости от наклона смартфона/планшета, либо от нажатой кнопки. Все расчеты производятся в Android-приложении, и сразу же вычисляются значения ШИМ для левого и правого двигателей. Приложение обладает гибкими настройками, такими как диапазон ШИМ, чувствительность наклона, минимальный порог ШИМ и др. По Bluetooth передаются команды вида:
L-255\rR-120\r
L — команда для левого двигателя, R — для правого
минус обозначает вращение двигателя для движения назад
255 — число ШИМ, для Arduino это максимальная скорость вращения
\r — конец команды.
По данной команде машинка будет двигаться назад и немного поворачивать в правую сторону, т.к. правый двигатель будет вращаться медленнее левого.

L255\rR-255\r
По данной команде левый двигатель будет вращаться вперед, а правый назад, что заставит машинку вращаться вокруг своей оси против часовой стрелки.

H1\r
Команда включения дополнительного канала, к которому например можно подключить фары, звуковой сигнал и т.п. В качестве примера, приведен только один дополнитльный канал, однако ПО легко модифицировать, чтобы задействовать большее количество дополнительных каналов.

Символы команд L, R и H можно задавать в настройках Android-приложения.

В программе контроллера предусмотрен таймер, который отключает двигатели, если последняя команда была получена более, чем n-секунд назад. Настройка количества секунд хранится в EEPROM памяти контроллера и может быть изменена с Android устройства. Диапазон данной настройки составляет от 0.1 сек до 99.9 секунд. Также, настройку можно совсем отключить. Но тогда, при потере связи машинка будет ехать, пока не будет выключено питание.
Для работы с памятью микроконтроллера предусмотрены команды Fr — чтение значений и Fw — запись значений.

Электронная начинка

Структурная схема CxemCAR представлена ниже:

Как видим, к контроллеру (Arduino, STM32 и др. неважно какой) подключается Bluetooth модуль и драйвер двигателей, к которому в свою очередь подключается 2 или 4 моторчика Bluetooth-управляемой модели. На схеме изображен один выход дополнительного канала (включение звукового сигнала, фар и т.п.), но путем небольшой правки программы число дополнительных каналов может быть легко увеличено.

Читайте также:  Брелок google android зеленый

Работа с Android приложением

Приложение под Android писалось в среде Eclipse. Все исходники проекта и проект для Eclipse вы можете скачать ниже. Я не специалист в Java программировании и это мое первое приложение под Android поэтому кое-где код не совсем удачен. Именно на разработку Android приложения ушло основное время при разработке данного проекта. Версия Android должна быть не ниже 3.0, я все писал и тестировал под планшет с версией 4.0.3.

Приложение содержит несколько активити. Главное активити представляет собой начальный экран с кнопками запуска различных режимов управления и настройками:

Предусмотрено 3 режима управления Bluetooth-моделью:

Управление от акселерометра — основной способ управления. Управление движением Bluetooth-модели осуществляется за счет наклона Android-устройства (планшет, телефон и др.)
Виртуальный руль — гибридное управление. Газ — при помощи ползунка, повороты — при помощи поворота устройства. Задний ход — отдельной экранной кнопкой.
Управление от кнопок — на экране приложения выводятся 4 кнопки управления: вперед, назад, влево и вправо. При нажатии кнопки «вперед» машина едет вперед пока держите кнопку, при нажатии «назад» тоже самое, но едет назад. При нажатии кнопок «влево» или «вправо» машинка крутится вокруг своей оси в одну или в другую сторону. При этом значение скорости фиксировано (по умолчанию стоит максимальная скорость), но в настройках можно изменить данный параметр.
Управление от touch — данный способ управления я подсмотрел в игре DeathRally и ради спортивного интереса решил повторить. Честно сказать поучилось не очень удобно, но может кому-нибудь пригодится. На экране рисуется круг, внутри которого и происходит процесс управления. Повели пальцем вверх относительно центра — машинка едет вперед, чуть левее — машинка начинает поворачивать влево. Насчет этого способа управления, есть в дальнейшем идея усовершенствования с помощью компаса, т.е. использовать круг не как задатчик скорости и поворота, а задавать с помощью него направление движения.

Настройки приложения

Скриншот настроек Android приложения CxemCar версии 1.0:

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

Точка разворота для мотора (ось X)

При наклоне Android-устройства влево или вправо программа притормаживает тот двигатель, в сторону которого наклонено устройство, т.о. осуществляется поворот. Однако, когда значение наклона доходит до заданной в настройках точки разворота, то двигатель начинает вращаться в другую сторону. Если наклонить устройство максимально вбок, то один двигатель будет вращаться с максимальной скоростью в одну сторону, а другой в другую и соответственно машинка будет крутиться вокруг своей оси на месте.

MAC адрес

Для установления связи с Bluetooth модулем машинки, в настройках приложения необходимо задать MAC-адрес. Предварительно необходимо настроить сопряжение устройств в настройках вашего Android-устройства. Для этого переходим в Настройки -> Bluetooth и нажимаем «Поиск устройств», телефон находит наш Bluetooh-модуль, нажимаем по нему и вводим пароль (как правило 1234).

Узнать Bluetooth адрес модуля можно из какого-нибудь приложения, к примеру Bluetooth Terminal. Для этого внизу нажимаем «Connect a device — Secure» и в появившемся окошке нажимаем кнопку «Scan for devices». ПО сканирует Bluetooth устройства и отобразит их MAC-адреса:

Этот MAC-адрес и необходимо прописать в настройках приложения CxemCAR.

Само ПО под Android я не буду расписывать, т.к. оно довольно таки громоздкое и поэтому если у вас возникнут какие-либо вопросы по нему, то обращайтесь тему поддержки данного проекта на форуме.

Сборка платформы

Как я уже говорил выше, в качестве платформы я выбрал шасси Pirate-4WD от производителя DFRobot (SKU:ROB0003). Это одно из самых популярных шасси, вот его описание и видео по сборке. Хотя там все интуитивно понятно и сборка очень проста.

После того, как была собрана основа шасси с моторами, припаиваем провода и на всякий случай маркируем моторчики:

На верхнем фото хорошо видно, что левые и правые двигатели относительно друг-друга расположены несоосно из-за непродуманности китайской конструкции, и из-за этого колеса немного проскальзывали при движении. Поэтому потребовалось небольшая доработка, для этого я вырезал распорки из пластика и вставил их между двигателями.

Стало немного лучше, но все равно остался небольшой градус у колес. Однако, как показали дальнейшие испытания, это не сильно влияло на ходовые качества платформы. Поэтому не стал углубляться в доработку шасси и оставил как есть с распорками.

Следующим этапом является установка колес. На вал они налезают очень туго, кое-где даже пришлось подпилить каттэром.

Провода от 4-х моторов подключаем к плате драйвера двигателей L298N, левые 2 мотора просто запаралеленны, тоже самое и правые.

Для того, чтобы можно было видеть состояние Bluetooth соединения, у модуля HC-06 (да и у других тоже) присутствует возможность подключения светодиода состояния. Я решил его также подключить и вывести на видное место. Для этого, я использовал токоограничительный резистор номиналом 470 Ом и термоусадочную трубку.

К модулю Bluetooth подключаем или подпаиваем все необходимые провода, помимо светодиода это питание, GND, TX и RX. Смотрите документацию на ваш Bluetooth модуль. Чтобы не мучаться с пайкой, я вам советую сразу взять модуль с подпаянными штыревыми выводами (см. фото выше). И лучше брать модули HC-03/HC-05.

Я же использовал модуль HC-06, который у меня был до этого. Схема распайки следующая:

В распаянном виде модуль выглядит так:

Его я также разместил в термоусадочной трубке большого диаметра.

Для питания двигателей я использовал батарейный отсек на 5 элементов типа АА, т.е. напряжение питания двигателей составило 7.5 Вольт. Можно использовать LiPo и другие аккумуляторы. Для крепления батарейного отсека в крышке шасси просверлил два отверстия и закрепил при помощи двух болтов.

История изменений ПО для Android:
Версия 1.1 (от 28.01.2013) — в классе cBluetooth изменения для более стабильного подключения по Bluetooth. Теперь не нужно вводить код для pairing (связывания устройств)
Версия 1.2 (от 15.02.2013) — дополнен класс cBluetooth на предмет установки соединения с устройством (полезно при отладке). Изменения в классе Handler (исправлены все ошибки с static). Реализован новый вид управления — «виртуальный руль».
Версия 1.3 (от 20.07.2013) — мелкие правки в активити. Исправление ошибки с инверсией координат на смартфонах

Схема подключения «мозгов» робота, т.е. основного контроллера, для каждой платформы будет своя, поэтому подключение и другие нюансы будут описаны в отдельных статьях:
Аппаратная реализация CxemCAR на платформе STM32
Аппаратная реализация CxemCAR на платформе Arduino
Аппаратная реализация CxemCAR на платформе .NET Micro Framework

Источник

Оцените статью