Как управлять машинкой на радиоуправлении с помощью телефона
Сегодня для охраны автотранспортного средства используются различные системы, начиная от обычных механических блокираторов, заканчивая современными GPS сигнализациями. Последние пользуются все большей популярностью благодаря не только надежной системе защиты, но и удобству управления охранной системой. Кроме этого, благодаря функции обратной связи и возможности дистанционного запуска двигателя управлять любимым автомобилем можно, вообще, без использования штатного ключа.
GSM сигнализация (автомобильная) – это устройство, которое моментально извещает автовладельца о попытке проникновения в машину посредством использования каналов сотовой связи. Эта опция становится возможной благодаря специальному модулю, который осуществляет мониторинг, то есть определяет местонахождения автомобиля, связываясь с базовыми вышками сотовых операторов или спутниковых систем GPS и ГЛОНАСС. Внешне этот модуль напоминает стандартное мобильное устройство, оснащенное экраном, клавиатурой и разъемами для подсоединения различных датчиков (открывание/закрывание дверей, окон и многого другого). Датчики высылают информацию обо всем происходящем на модуль, с которого сигнал тревоги перенаправляется на телефон владельца машины. Благодаря этому можно предупредить угон авто, отключив двигатель и быстро определить местоположение машины.
Рассмотрим подробнее преимущества таких «умных» систем.
Как подключить телефон к охранной сигнализации с автозапуском?
Прежде всего необходимо скачать и установить на свой смартфон приложение для вашей модели сигнализации. У StarLine и Pandora есть свои программы. Для Шерхана ищем в Google Play или App Store приложение «Mobicar»
Далее все манипуляции нужно проводить в непосредственной близости от автомобиля, так как соединение телефона с сигнализацией происходит по сигналу Bluetooth. Сначала требуется разблокировать центральный замок машины. После чего ввести сигнализацию с автозапуском в режим сопряжения.
- Зажимаем на 2 секунды кнопку «4» на брелке
- Далее на 2 секунды зажимаем одновременно кнопки «1 + 4»
- Наконец, клавишу «3» также на пару секунд
Теперь можно включить блютуз на смартфоне и запустить приложение Sher-Khan Mobicar. На стартовом экране жмем на «Начать подключение»
После непродолжительного поиска на странице отобразится номер сигнализации, установленной в машине. Нажимаем на «Подключить»
Для подключения телефона к сигнализации потребуется ввести шестизначный код, который необходимо взять с дисплея брелка. На нем видно только первые 4 цифры. Последние 2 отобразятся после краткого нажатия на кнопку «2». Вводим данный код в текстовое поле в мобильном приложении.
После успешного подключения жмем на «Начать использование»
Преимущества и основные команды GSM/GPS модуля
GSM сигнализация для авто разрабатывается с учетом новейших технологий, которые не позволят угонщикам использовать компьютерные программы или так называемые грабберы, для отключения охранного комплекса. Эффективность сигнализаций с GPS/GSM модулями обусловлена тем, что владелец автотранспортного средства всегда в курсе того, в каком его машина состоянии и где она находится. Вся информация выводится на специальный брелок либо на телефон. При этом вы можете управлять авто не только с помощью смартфона, на котором будет установлено специальное приложение, но и с обычного сотового телефона, путем отправки смс или звонка. Кроме этого, многие сигнализации, оснащенные модулем, имеют встроенный микрофон, благодаря которому вы можете прослушать, что происходит в салоне автомобиля.
Еще одно преимущество заключается в том, что автовладелец может завести двигатель, находясь дома. Более того, можно запрограммировать включение мотора с определенной периодичностью, например, каждый час на 10 минут. Благодаря этому в зимнее время года «движок» авто не будет остывать и вы сможете сэкономить кучу времени утром. Задать можно также и температурный порог, при котором системам будет срабатывать автоматически.
Полезно! Стоит учитывать, что хоть на упаковке с сигнализацией и указывается дальность порядка 1 500 метров, по факту это расстояние будет значительно меньше. Дело в том, что такие измерения проводятся на местности, расположенной вдали от городов, где сигнал не встречает никаких помех. В городской черте такие системы будут ловить на расстоянии 300-500 метров. Поэтому если вы живете на последнем этаже обязательно уточните реальную дальность сигнала.
Это интересно: Новый концепт городского электромотоцикла от BMW
Говоря о преимуществах, стоит упомянуть удобство монтажа такой охранной системы. Для этого не нужно обращаться в специализированный автоцентр. Вам понадобится только закрепить все датчики, вставить сим-карту в соответствующий слот и активировать ее с мобильного телефона.
Итак, при помощи голосового управления, через СМС или со специальным приложением для Android, IOS или Windows вы сможете:
- контролировать состояние сигнализации и получать информацию о ее срабатывании;
- передавать сигнал тревожной кнопки напрямую на пульт охраны;
- прослушивать салон авто;
- включать и отключать режим охраны;
- отключать предварительные или основные датчики удара;
- осуществлять автозапуск для авто без сигнализации;
- полностью блокировать мотор.
При выборе системы обратите внимание на все эти опции, а также на фирму производителя охранного комплекса. Сегодня наибольшей популярностью пользуются устройства «Призрак» и Starline.
Настройки сигнализации в машине через телефон
Теперь мы получим полный контроль с телефона над всеми скрытыми настройками сигнализации. С главной страницы открывается быстрый доступ к управлению центральным замком, запуском двигателя и открытию багажника.
Причем изображение автомобиля динамически отображает его состояние. Например, при работе аварийки или поворотников они также мигают на картинке. А при заведенном двигателе контур обведен голубым свечением
В слайдере выше отображаются текущая скорость, напряжение в электросистеме, температура, и т.д. Для перехода в основное меню нужно нажать на иконку в левом верхнем углу.
Доступны следующие настройки сигнализации:
- Звуковые сигналы — можно отключить работу сирены для оповещения о постановке или снятии машины с охраны
- Световая индикация — тоже самое, касательно включения поворотных сигналов при открытии центрального замка, срабатывании датчиков удара и прочих событиях. Здесь же можно активировать «вежливую подсветку», когда фары горят в течение некоторого времени после перехода в режим охраны для того, чтобы подсветить водителю дорогу к дому.
- Чувствительность датчиков — настройка уровня беспокойства для срабатывания сигнализации
- Управление охраной — детальные параметры конфигурации сигнализацией автомобиля.
Самое интересное в данном разделе то, что можно активировать подключенный смартфон в качестве иммобилайзера и охранной метки. При включении данной функции двигатель будет заводиться только при наличии в салоне привязанного телефона с включенным Bluetooth. Также можно выставить дальность приема сигнала. При появлении смартфона в его зоне автоматически будет срабатывать постановка на охрану или открываться центральный замок автомобиля - Команды — меню настройки дополнительных команд сигнализации для быстрого к ним доступа с кнопко пульта
Освобождаем руки и глаза
Не зря сейчас берут штраф за разговор по телефону за рулем. Это очень отвлекает водителя, так же как и выбор песни или набор смс. Однако взаимодействия с телефоном во время поездки не избежать, и единственный способ сделать его более безопасным — использовать голосовое управление.
На iPhone 4S с такими обязанностями хорошо справляется Siri. Кстати, и Siri можно запускать голосом (инструкция здесь). Если Siri на вашем iPhone нет, можно воспользоваться приложением Vokul, которое разработано специально для использования в автомобиле.
Также неплохие возможности управления голосом демонстрируют смартфоны с Android 4.1, однако если вам нужен настоящий помощник, вроде Siri, то нужно будет обзавестить дополнительными приложениями, например: Voice Actions for Android, Vlingo, Edwin.
Надеемся, что наши советы помогут вам удачно объединить ваш автомобиль и ваш смартфон. Всегда помните о безопасности за рулем и не подвергайте себя и других участников движения неоправданному риску.
Автоматическое охлаждение и обогрев салона автомобиля
Еще одна функция удаленного управления автомобилем с помощью GPS/ГЛОНАСС терминала – это автоматическое поддержание температурного режима в салоне. В зависимости от показаний датчиков температуры и влажности можно настроить автоматическое включение-выключение кондиционера и обогрева салона, когда значения выходят за пределы определенной отметки.
Решить эту задачу и предусмотреть, чтобы при значениях в пределах нормы и обогрев, и кондиционирование были отключены, можно самостоятельно с помощью настройки алгоритма Easy Logic. Так будет выглядеть готовый алгоритм:
Разберем его подробно. Представим, что к терминалу подключены аналоговый датчик температуры – ко входу 0 и аналоговый датчик влажности – ко входу 1. К выходу 0 подведено реле включения/выключения обогрева, а к выходу 1 – включение/выключение кондиционирования.
Посте «Старта устройства», в первую очередь, производится инициализация трёх переменных для определения нижнего и верхнего порогов температуры, а также верхнего порога влажности. Задаем значения для выходов датчиков. Для датчика температуры нижней границей выставляем значение 4000 мВ (Temp_Low), а верхней – 8000 мВ (Temp_High). Для датчика влажности задаем напряжение только для верхней границы (Humidity) – 3000 мВ.
Затем терминал начинает последовательно проверять условия включения систем обогрева или охлаждения. Первой проверяется температура ниже нормы – при выполнении условия включается обогрев, после чего через 15 секунд проверка запускается вновь, которая продолжается до тех пор, пока температура не поднимется выше этого уровня.
Если показания с датчика температуры не опускаются ниже нормы, выполняется проверка верхней границы. Если температура выше, то включается кондиционирование по аналогии с обогревом. Если обе проверки не выявили отклонений от нормы температуры, в конце проверяется уровень влажности со второго датчика. При превышении нормы влажности в салоне одновременно запускается кондиционирование для осушения воздуха и обогрев для компенсации охлаждения и через 15 секунд процедура проверки повторяется.
По аналогии можно добавить любые условия и действия для создания наиболее комфортного температурного режима так, как необходимо заказчику.
Системы Призрак
В зависимости от модификации этих устройств будет зависеть наличие тех или иных модулей и дополнительных аксессуаров. Например, сигнализация в авто «Призрак» с иммобилайзером будет иметь номер от 510 до 540. Интересующие нас GSM сигнализации можно определить по первой цифре – 8 (например, 810, 820, 830 и 840). Все эти модификации обладают следующими характеристиками:
- Контроллерами CAN, благодаря которым осуществляется надежная интеграция с системами автомобиля.
- Функцией «PIN to drive», которая выступает в качестве дополнительной защиты, rjulf помимо использования специального электронного ключа, автовладелец должен вводит специальный код.
- Датчиками внешних воздействий (наклона, удара, смещения и многими другими).
Кроме этого, сигнализация в авто «Призрак» оснащена всеми стандартными «фишками», включая дистанционное управление, микрофоны и возможность автозапуска двигателя.
Если говорить о стоимости этих охранных систем с GPS модулями, то:
- Prizrak 810 обойдется вам в 15 000 рублей. Только стоит учитывать что данная модификация не оснащена специальной радиометкой «DDI 2,4 ГГц», которая позволяет не только надежней защитить авто от угона, но и исключить возможность ложной остановки двигателя. Также в этой системе отсутствует специальное реле, отключающее двигатель.
- Prizrak 820 стоит чуть дороже – 18 000 рублей. Эта система также не оснащена радиометкой, но мини-реле, отключающее двигатель присутствует в комплекте.
- Prizrak 830 стоит 17 500 рублей. Система оснащена радиометкой, но реле отсутствует.
- Prizrak 840 за 21 800 рублей оснащен всеми нужными «примочками» и надежнее всего защитит ваш автомобиль.
Это интересно: Porsche задумывается о создании собственного мотоцикла
Так мобильный телефон превращается в бортовой компьютер
Smart Control Lite
Чтобы получить возможность использовать мобильный телефон в качестве бортового компьютера и диагностического прибора, вы должны подключить его через Bluetooth или WLAN к разъему OBD-2.
После этого с помощью соответствующего приложения вы сможете наблюдать за расходом топлива, и использовать смартфон для отображения не только скорости, но и температуры охлаждающей жидкости, крутящего момента, ускорения и многих других параметров.
Для заездов по пересеченной местности и гоночных покатушек будет полезна информация о тормозном пути, времени прохождения круга и угле наклона кузова.
Кроме того, вы сможете получить данные о содержащихся в системе кодах ошибок, чтобы своевременно вмешаться при возможных неполадках.
Примечание: из-за ограничений, которые имеют Bluetooth-протоколы под iOS, с iPhone совместимы только OBD-2-модули с WLAN-связью.
Первый автомобиль с ДУ
Идея оборудовать детский автомобиль с электродвигателем контроллером впервые появилась у инженеров компании Peg Perego, одного из лидеров на рынке детского электротранспорта. Первая модель, которой можно было управлять удалённо стала Go Buggy Go, до 2012 года носившая название RC Buggy, предназначенная для детей в возрасте от 1 до 3 лет
В отличие от распространённых на то время моделей, где родителям было необходимо постоянно находиться возле маленького водителя, с пультом можно было делать это удалённо, сидя на лавочке, либо медленно прогуливаясь. Пульт RC Buggy позволял менять траекторию движения при помощи специального колёсика, имитирующего руль. Такое решение сделало модель бестселлером, а идея стала настолько успешной, что большинство современных моделей детских электромобилей комплектуются пультом дистанционного управления.
После приобретения недорогого 7" китайского планшета и экспериментами с взаимодействием с Arduino по USB и Bluetooth захотелось сделать что-то более серьезное и полезное для своих детей. Так родилась идея сделать машинку с управлением от акселерометра Android-устройства и связи по Bluetooth каналу. До этого я никогда не увлекался робототехникой или РУ управлением, но желание было. Были поставлены три цели:
Управление машинкой (или гусеничной платформой) осуществляется путем наклона Android-устройства. Т.е. наклонили вперед - машинка едет вперед, наклонили влево - машинка поворачивает на лево, назад - машинка едет назад. Причем скорость движения или поворота зависит от степени наклона устройства. Чувствительность и величина наклона устанавливается в настройках Android-приложения. Данный способ управления достигается за счет доступа из программы к встроенному акселерометру (который сейчас имеется во всех современных Android смартфонах и планшетах).
Реализован также гибридный способ управления: газ - при помощи ползунка на экране, а поворот модельки - при помощи поворота Android-устройства (как виртуальный руль). Для заднего хода - отдельная кнопка.
Предусмотрен и обычный способ управления от кнопок на экране, но он менее функционален и в основном служит для отладки и проверки работоспособности.
В дополнении ко всему, я ради спортивного интереса реализовал и тач управление, т.е. на экране отображается круг, и чем выше двигаете в нем маркер, тем быстрее едет машинка, чуть повели пальцем влево - машинка поворачивает.
Данные обрабатываются и передаются по Bluetooth каналу на контроллер машинки, который в свою очередь через драйвер двигателей управляет моторчиками машинки.
Компоненты
1. Android устройство
Итак, первое что прежде всего потребуется - это любое Android устройство: смартфон, планшет, часы и т.п., желательно с датчиком наклона (акселерометром) и Bluetooth (или возможностью подключения внешнего модуля через USB OTG). Я использовал китайский Ainol Aurora с внешней USB Bluetooth флэшкой. Цена такого устройства на сегодняшний день составляет менее 100$.
2. Шасси для машинки
При выборе шасси обращайте внимание на питание и мощность двигателей, а также на обороты моторчиков и наличие редуктора. Хотя большинство платформ содержат стандартный 6В моторчик с редуктором.
Для принципа управления описанного в данном проекте, больше всего подходит гусеничная платформа, но т.к. у меня пока что ее нет, я реализовал проект на основе 4WD платформы.
3. Контроллер машинки
Как я уже говорил, проект планируется сделать мультиплатформенным. На текущий момент проект CxemCAR реализован для следующих аппаратных платформ:
"Мозги" робота не требовательны к быстродействию МК и количеству периферии, необходимый минимум, который должен поддерживать микроконтроллер: 2 ШИМ и UART.
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-управляемой модели. На схеме изображен один выход дополнительного канала (включение звукового сигнала, фар и т.п.), но путем небольшой правки программы число дополнительных каналов может быть легко увеличено.
Работа с 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) - мелкие правки в активити. Исправление ошибки с инверсией координат на смартфонах
Этот урок показывает как сделать радиоуправляемую модель машины, которую можно контролировать через смартфон. В этом руководстве мы будем использовать плату Arduino Uno.
Шаг 1. Комплектующие
Для того, чтобы сделать модель машины на радиоуправлении (RC-машина) с использованием Ардуино и с возможностью контроля через смартфон, нам понадобятся следующие детали:
- Комплект шасси робота 4WD
- Модуль H-моста LM298
- Модуль Bluetooth HC-05
- Батарея Li-po 12В
- Провода-перемычки
- Провода "папа-папа"
- Клейкая лента или любая другая лента
- Смартфон
Шаг 2. Шасси
Вы можете купить готовый комплект для сборки 4WD шасси или сделать его с помощью ПВХ или любого вида жесткой доски. Наш вариант на фото выше был куплен в онлайн-магазине. Вполне возможно сделать аналог этого шасси своими руками. Не имеет особого значения вид шасси, можно выбрать на свой вкус.
Шаг 3. Моторы (приводы)
В этом проекте используются 6В моторы постоянного тока. Вы можете использовать любой вид приводов на 6В постоянного тока. После того как вы купили моторы, нужно их подготовить перед размещением на шасси.
Отрежьте 4 кусочка красного и черного провода длиной примерно от 5 до 6 дюймов (12 - 15 см). Можно использовать провода 0,5 мм. Снимите изоляцию с проводов на каждом конце. Припаяйте провода к клеммам двигателей.
Вы можете проверить полярность двигателя, подключив его к батарейному блоку. Если он вращается в прямом направлении (красный провод с положительного и черный провод с отрицательного вывода батареи), то соединение правильное.
Шаг 4. Установка двигателей
Следуйте фотографиям выше для того, чтобы понять как установить все двигатели на шасси нашей будущей модели радиоуправляемой машины, которую мы будем контролировать со смартфона.
Шаг 5. Ардуино контроллер
Arduino UNO - это плата микроконтроллера с открытым исходным кодом, основой которой служит микроконтроллер Microchip ATmega328P и разработанная Arduino.cc.
Плата оснащена наборами цифровых и аналоговых пинов ввода/вывода (I/O), которые могут быть подключены к различным платам расширения (экранам) и другим цепям. Плата имеет 14 цифровых контактов, 6 аналоговых контактов и программируется с помощью Arduino IDE (интегрированная среда разработки) через USB-кабель типа B. Плата может питаться от USB-кабеля или от внешней 9-вольтовой батареи, хотя он принимает напряжение от 7 до 20 вольт, по аналогии с Arduino Nano и Leonardo.
Эталонный дизайн оборудования распространяется под лицензией Creative Commons Attribution Share-Alike 2.5 и доступен на веб-сайте Arduino. Макет и производственные файлы для некоторых версий оборудования также доступны. «Uno» означает один на итальянском языке и был выбран в честь выпуска Arduino Software (IDE) 1.0. Плата Uno и версия 1.0 программного обеспечения Arduino (IDE) были эталонными версиями Arduino, теперь разработанными для более новых выпусков.
Плата Uno является первой в серии плат Arduino c USB и эталонной моделью для последующих платформ. ATmega328 на Arduino Uno поставляется с предварительно запрограммированным загрузчиком, который позволяет загружать новый код без использования внешнего аппаратного программера с использованием оригинального протокола STK500. Uno также отличается от всех предыдущих плат тем, что не использует микросхему драйвера FTDI USB-to-serial. Вместо этого он использует Atmega16U2 (Atmega8U2 до версии R2), запрограммированный как преобразователь USB-to-serial.
Микроконтроллеры обычно программируются с использованием диалекта функций из языков программирования C и C++. В дополнение к использованию традиционных наборов инструментов компилятора проект Arduino предоставляет интегрированную среду разработки (IDE).
Шаг 6. H-мост (модуль LM 298)
Термин H-мост (англ. H-bridge) выведен из типичного графического представления такой схемы. Это схема, которая может приводить двигатель постоянного тока в прямом и обратном направлении, см. рисунок выше для понимания работы H-моста.
Он состоит из 4 электронных переключателей S1, S2, S3 и S4 (транзисторы / МОП-транзисторы (MOSFET) / IGBTS). Когда переключатели S1 и S4 замкнуты (а S2 и S3 разомкнуты), на двигатель идет положительное напряжение. Поэтому он вращается в прямом направлении. Аналогично, когда S2 и S3 замкнуты, а S1 и S4 открыты, обратное напряжение идет через двигатель, поэтому он вращается в обратном направлении.
Примечание. Переключатели в одном и том же плече (S1, S2 или S3, S4) никогда не замыкаются в одно и то же время, это приведет к короткому замыканию.H-мосты доступны в виде интегральных микросхем, или вы можете создать свой собственный, используя 4 обычных транзистора или полевых транзистора (MOSFET). В нашем случае мы используем микросхему H-моста LM298, которая позволяет контролировать скорость и направление вращения двигателей. Ниже перейдем к описанию пинов:
Выход 1: двигатель постоянного тока 1 "+" или шаговый двигатель A+
Выход 2: двигатель постоянного тока 1 "-" или шаговый двигатель A-
Выход 3: двигатель постоянного тока 2 "+" или шаговый двигатель B+
Выход 4: двигатель B выведен
12В контакт: 12В вход, но вы можете использовать от 7 до 35 В
GND: земля
Вывод 5В: выход 5 В, если перемычка 12 В на месте, идеально подходит для питания вашего Arduino
EnA: включает сигнал ШИМ для двигателя А
IN1: включить двигатель A
IN2: включить двигатель A
IN3: включить двигатель B
IN4: включить двигатель B
EnB: включает сигнал ШИМ для двигателя B
Шаг 7. Источник питания
Для нашей радиоуправляемой модели машины на основе Ардуино и с контролем через смартфон могут быть использованы следующие батареи:
- Щелочная батарея типа АА (не перезаряжаемая)
- AA NiMh или NiCd аккумулятор
- Литий-ионный аккумулятор
- Батарея LiPo
Шаг 8. Электрические соединения
Для реализации соединений нужны перемычки. Соедините красные провода двух двигателей (с каждой стороны) вместе и черные провода вместе. Таким образом у нас теперь есть два терминала с каждой стороны. MOTORA отвечает за два правых двигателя, соответственно два левых двигателя подключены к MOTORB. Следуйте инструкциям ниже, чтобы соединить все.
Соединения двигателей
Out1 -> Красный провод левого бокового мотора (+)
Out2 -> Черный провод левого двигателя (-)
Out3 -> Красный провод правой стороны двигателя (+)
Out4 -> Черный провод правой стороны двигателя (-)
LM298 -> Arduino
Модуль Bluetooth -> Arduino
Питание
12V -> Подключите красный провод аккумулятора
GND -> Подключите черный провод аккумулятора и вывод Arduino GND
5V -> Подключение к контакту Arduino 5V
Шаг 9. Логика управления
Логика управления описывается в таблице ниже.
Шаг 10. Приложение для смартфона
Для управления RC-автомобилем мы используем смартфон. Смартфон подключается к контроллеру через модуль Bluetooth (HC-06/05). После установки приложения необходимо настроить связь с модулем Bluetooth. Пароль для связи: «1234».
Шаг 11. Код Ардуино
Вот только что был у нас проект - подключение модуля Bluetooth к плате Марсоход. И плата Марсоход и модуль Bluetooth были установлены на машинке. Такая машинка ездила под управлением Scratch программы работающей на компьютере.
Сегодня мне пришла в голову мысль: "А почему бы не использовать сотовый телефон с Bluetooth , как пульт управления к машинке?"
Ну так вот, сделал:
Как я это делал - это конечно целая история.
У меня есть довольно старенький телефон. Не Android и не iPhone. Обычная Nokia с операционной системой Simbian OS v9.1. На телефоне есть Bluetooth и Java.
Значит нужно писать программу на Java. Честно говоря не могу похвастаться знанием этого языка программирования. Однако мы не привыкли отступать. Отправляемся в Google и Yandex. Наша задача найти и скачать среду программирования для Java для телефонов и какие нибудь готовые примеры для работы с Bluetooth .
Довольно быстро я вышел на страницу Оракла: http://www.oracle.com/technetwork/java/index-jsp-137162.html На этой странице есть ссылки на скачивание Java ME SDK и на скачивание Sun Java Wireless Toolkit. Я скачал оба. Честно говоря Java ME SDK мне не понравилась. Слишком там много всего не понятного. Хотя там прямо "среда разработки". Наверное сильная вещь, но долго разбираться. А вот Sun Java Wireless Toolkit мне понравился Он примитивный, как раз для моего уровня подходит. Там всего "3 кнопки" - создать проект, откомпилировать, запустить. Редактировать тексты не где - нет для этого среды. Использую внешний редактор - notepad.
С обоими средствами программирования идут какие-то примеры, в том числе и c использованием Bluetooth . Еще порылся в google.
В конце концов, взяв несколько разных примеров из интернета, кое как слепив их до кучи, получилась у меня программа. Не ручаюсь, что там все правильно (как я уже сказал, я не знаю языка Java, имею только общие представления). Основной критерий написания - компилятор не должен давать ошибок . Тем не менее, похоже программа работает.
Вы можете выкачать мою программу здесь:
В этом архиве и исходные тексты, проект для Sun Java Wireless Toolkit, и сами бинарные файлы. Раскройте архив, в папке BIN есть btctrl.jar и btctrl.jad файлы. Их нужно перенести на телефон и с них установить Java приложение.
Вам нужна машинка с платой Марсоход и модуле Bluetooth , как в том проекте.
Теперь все просто. Включаем машинку. Запускаем на телефоне программу. Программа ищет в округе устройства Bluetooth и показывает их список. Выбираем то устройство, про которое телефон пишет SerialPort. телефон спрашивает разрешение на подключение, соглашаемся и все - можно управлять машинкой. При нажатии на кнопки влево, вправо, вверх, вниз на экране телефона рисуется соответствующая направлению стрелка и наша машинка едет!
Читайте также: