Меню Рубрики

Установка блютуза на руль

Citroen C5 X7 TOURER DV6C › Бортжурнал › Приручение кнопок руля. Управляем bluetooth модулем.

В первой серии был собран и протестирован модуль передачи звука по bluetooth без потери качества (технология AptX). Звук получился афигенным, но дело было за управлением (переключением треков, пауза). Первый вариант был сделан через кнопки магнитолы. Под резинку приклеиваются микрокнопки и провода выводятся на модуль. Скажу сразу, что такое решение не понравилось ни мне, ни людям — 1) Родные кнопки жмутся мяконько, за счет резины. А вставные кнопки в жизни нажимаются очень тихо, но в сравнении с родными они противно щелкают, это просто бесит. 2) Я не пользуюсь кнопками на магнитоле в принципе, это не удобно. И не один я.

Давненько управление кнопками на руле реализовал DSLTIP, открыв путь для всех, за что ему огромное спасибо от человечества. Я давно хотел повторить проект, закупил разные Адруинки, но руки не доходили, опыта не было, было страшно браться. И вот настал их час. Огромное спасибо еще раз Дмитрию, он сильно помог. Был собран такой тестовый ежик:

Для подключения к шине LIN нужно снять кожух рулевой колонки. Долго разбирался как же найти нужный синий провод по описанию DSLTIP. Провода не нашел, пришлось прибегнуть к изучению схем. Оказалось что блок кнопок подключен к блоку стрекозы через шину LIN. От стрекозы уже к BSI идет шина CAN. Нужный провод с LIN шиной имеет голубой разъем и 4 провода — красный + питания (подается когда магнитола включена), корпус, LIN, звук к динамику в руле:

Сам разъем вы сможете увидеть только при помощи зеркала или мобилы:

Подключил — не работает… Попытки заставить работать монитор USB Serial на нескольких Android смартфонах не увенчались успехом. Переносного компа не было. Было решено сделать тестовый макет дома на столе. Я уже почти снял свой блок, но vzhukovsky нашел в объявках недорогой б/у блок и даже метнулся за ним и привез мне на опыты.

К сожалению, всего чего я смог добиться от блока на столе — это согласование уровня сигнала под уровень Адруино для стабильного понимания синхросигнала LIN. И увидел что Адруинка отвечает и видит контроллер LIN. Коды кнопок блок не отправлял 🙁 И проверить и сделать реакцию на них было невозможно. Мы предположили, что без подключения к стрекозе блок не начнет отправлять коды, видимо есть какая-то инициализация. На следующее утро, пока дочка спала, у нее был выкран нотбук, установлена среда Adruino и отправился в машину проверять.

На этот раз был сексес. Видимо проблема была в преобразовании уровня сигнала. Коды поперли! И да, без стрекозы блок команды не отправляет. Сделал обработку Next, Prev и Pause (выключение звука). После тестов, без подключения, блютуз таки засыпал и перегрузка магнитолы не давала гарантированной перезагрузки блютуз — слишком малый импульс на выключение, конденсаторы не успевали разрядиться. Было решено переписать код и переделать схему для отключения Адруиной питания модуля CSR8645. Теперь пауза срабатывает по отжатию кнопки выкл звука, если она нажата менее 3х секунд. А если кнопка нажата более 3-х секунд, то Адруинка отключает питание модуля и включает его через секунду, модуль переинициалиирутеся. Получилось отлично. Если лихорадочно жать кнопку выключения звука, то магнитола в начале реагирует туго, первое нажатие отрабатывается пару секунд, потом реакция быстрая. Адруинка отрабатывает мгновенно. Из-за этого может быть рассинхронизация — звук на магнитоле выключится, а блютуз начнет проигрывать, и наоборот, звук включится, а блютуз на паузу. Решается это просто снятием с паузы на смартфоне 🙂 Хотя не думаю, что кто то будет лихорадочно жать кнопку выключить/включить звук и попадет в такую ситуацию. Я смог создать ее всего 1 раз и не смог из нее выйти, т.е. повторить рассинхронизацию.

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

Кнопки и их разъем убрал. LIN шина входит на разъеме питания. Адруинку разместил над модулем блютуз. Все влазит в ту же коробочку. Конечно следующий вариант будет уже сделан с учетом всех нюансов.

Аудио подключается на разъеме магнитолы. В саму магнитолу лезть не требуется. На нижних разъемах нужно подключиться к следующим проводам:

Сам блок блютуз разместился за нижней полочкой под магнитолой. Места там много. Пока еще не закрепил.

Ну и напоследок, видео как это работает:

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

источник

Honda Civic ЧЁрный Квадрат › Бортжурнал › Руль и BlueTooth

Решил установить управление магнитолой, круиз (чуть позже, датчики на педали пока не купил), и собсно Bluetooth.

Блютуз покупался со след. параметрами :

1. Не высокая цена (если что пойдет не так, то не очень то и жалко)
2. Наличие линейного выхода для подключения к AUX

! Важно стоит заметить что блютуз должен питаться от машины, чтоб проблем со сменой батареек, и зарядкой гарнитуры не было !

На эту роль подошел Ritmix RH-411 BTH Bluetooth

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

Кнопка его вкл. выкл. как крепиться, и куда будет устновлена я пока не знал.
Было куплено еще следующее барахло :

1. Мини джек 3,5 мама, папа, сопротивление 1,5 кОм (для активации аукса), контакты для контакторов, провода, кнопки : одна большая и одна маленькая.

Первым делом которое необходимо было решить это : Как сделать из 12В -> 1,5 Вольта.
Решение проблемы было 2 :

1. Регулятор напряжения от автомобильного прикуривателя, нашел 2, один в чип и дипе за 700р. (типа немецкий), другой кЕтайский за 550.

2. Способ, это в какой то паленой телемастерской дядька спаял мне такой переходник за 200 рублей.

Объяснил мне какие провода куда. Вообщем все ок.

Далее разбираем торпеду. Все как положено, вот фотки мафона civic, для тех кто его еще не видел, и для тех кто уже.

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

Далее разбираем сам Блютуз для вывода из него проводов питания, микрофона, и кнопки управления.

Кнопка для приема входящего звонка, окончания разговора, и повтора последнего номера ОДНА, что несомненно +, не надо плодить много
кнопок. Кнопки управления громкостью нам не нужны, так как считаю эту функцию бесполезной, выставляю громкость на МАХ, далее громкость будем
устанавливать с помощью крутилки магнитолы.

Припаиваем провода питания, управление блютузом, и микрофона (микрофон был установлен в верхний левый край лобового стекла).

Стоит заметить что качество данного девайса просто никакое, как-то всё наляпано кривовато…вообщем дрянноватый девайс…, но цена конечно тоже делает свое дело.

! Супер друг и помощник при установке всего этого барахла сыграл клеевой пистолет…или как он называется?

Вот этот : суперская веСч ! С помощью него загерметизировал мой нереальный блок питания.

После подключения управления магнитофоном на руле, некоторым тестилкам пришел к решению что роль кнопки будет выполнять ПОДРУЛЕВОЙ ЛЕПЕСТОК .
Один его контакт прицепился на один свободный контакт руля (контакт №5), второй прицепил совмесно с №6 который идет от кнопок круиза на массу,
что потом привело к ряду трудностей.

Подключил сей девайс ко всем проводам за исключением питания, вначале запитался от батарейки…
Тест прошел удачно, я хорошо слышу, и меня хорошо слышно…вообщем радости выше крыше все ЛЮКС.
Только иногда как то странно реагирует этот девайс на нажатия лепестка…РАБОТАЕТ КАК ТО НЕВНЯТНО.
Ладно это все цветочки…вообщем пришла пора цепануть питание. Для этого были выведены провода с тыльной стороны прикуривателя.
Там фишка(контактор) крепится. + и — был установлен с помощью тестового светодиода.
…и каково мое расстройство, что блюха от этого блока питания НЕ заработала.
Тестера рядом не было померить выходное напряжение, попробывал лампочкой, тоже эффекта ноль.
Толи я загерметезировал его наглухо, толи он сновА не работал, это останется для меня тайной. Назнал что делать…
Вообщем подумал что наверно перепутал провода которые он мне объяснил, перекинул провода…и О ЭВРИКА
запахло паленым…после этого мой блютуз больше не включался. Было очень обидно, что проделал стока работы, кнопки заработали, круиз подключил к тахометру заработал,
а вот чертов ритмикс сгорел.

Читайте также:  Установка кулера в автоусилитель

В связи с окончанием отпуска продолжение было отложено на неделю.

И вот от ! новенькая жертва ! Bluetooth Car Kit mini BP-33

Купил в связном на савёле за 550 рублей, Фирма производитель пролайф, сайтец такой красивенький у них.

В коробке мануал, наушники, мини USB, и сам девайс.

1. ЦЕна
2. Внешний вид без нареканий, приятный маленький девайс, без люфтов, собрано хорошо.
3. Питание от мини USB (внутри литий-ионная батарея)
4. Одна кнопка управления : вкл. выкл девайса (удерживать секунд 6), ответ\окончание звонка (одинарный щелчок), повтор последнего номера (2 щелчок).
5. Отсутствие FM трансмиттера, экрана и прочей лишней лабуды, которая не нужна и которая увеличивает стоимость устройства.
6. Наличие линейного выхода.
7. Наличие динамика.

Также был куплен прикуриватель->mini USB, одноименной фирмы. Раздербаниваем его, выводим провода, точнее приводим к божескому виду :

Пришло время посмотреть внутренности блютуза, для этого надо открутить 3 самореза.

Вообщем собрано все хорошо, даже отлично по сравнению с ритмксом, все детали на месте. Смотрите сами :

Подцеплям провода, от микрофона, и центральной кнопки.

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

! Первая Тестовая проверка показала:

1. Я и меня слышно хорошо.
2.Качество передачи стерео ЗВука через профиль A2DP (Advanced Audio Distribution Profile), много лучше чем у Ритмикса, играет достаточно хорошо, что дает возможность прослушки мп3 с телефона через штатную систему.
3.Управление с помощью лепестка, на должном уровне вкл. выкл девайса (удерживать секунд 6), ответ\окончание звонка (одинарный щелчок), повтор последнего номера (2ой щелчок).
4.Питание от прикуривателя подключено (Если батарея заряжена то питание автоматически отключается, если разрядился то подзаряжается, тут все просто, о зарядке\разрядке можно забыть).

1. При вкл. \ выкл устройства шуршит динамик блютуза (было решено перерезать провода, чтоб он замолчал навсегда)
2. Так как управление лепестка было подключено с 6 проводом который идет на массу, исключает возможность управления блютузом во время его зарядки, так как идет конфликт с минусом по корпусу питания от прикуривателя.
(это нам не подходит, было принято ВРЕМЕННОЕ решение отключить 6 провод от массы, это значит кнопки круиза временно потеряли свою функциональность, но тут ничего страшного, датчики педалей все равно пока не подключены)

Устновить сей девайс было решено, под кнопками управления коррекотом фар, рядом с блоком предохранителей

Витоге мы имеем: Блютуз подключенный к штатной магнитоле сивика, управление очень удобное с помощью подрулевого лепестка, однако необходимо переключаться в режим AUX, чтобы услышать собеседника (не считаю это большим -)
Возможность прослушки музона с мобилы.

источник

Сообщества › Электронные Поделки › Блог › Bluetooth в автомобиле с контроллером кнопок на руле

Приветствую друзья. Давайте, кидайте в меня камнями завистники, но я это сделал! Машина заводится, музыка с смартфона начинает играть, машина глушится – музыка в смартфоне встает на паузу. При этом можно перелистывать треки КНОПКАМИ НА РУЛЕ. «Ятур» больше не нужен – любимая музыка всегда с тобой – дома, в кармане, в машине. Смелое заявление? По другому невозможно описать как я рад, что наконец-то дописал этот бесконечный роман, который не влез целиком в одну запись.

Вот представьте: у Вас есть смартфон, на который Вы без ограничений скачиваете любимую музыку. Но что-бы послушать эту музыку в машине Вам нужно “перекинуть” ее на CD/DVD диск, на “флешку”, в медиаплейер или mp3-адаптер (Yatour и т.п.). Конечно, кому-то не трудно возить с собой стопки mp3-дисков, “засирать эфир” FM-трансмиттерами и вручную переименовывать папки с музыкой (иначе медиаплейер или mp3-адаптер часто их “не видят”). На мой взгляд, все это лишний посредник между источником музыки и автомобилем. А если идет речь об Интернет-радио? Тут смартфону практически нет альтернативы, особенно если учесть, что он “всегда с тобой”.

Это продолжение разработки контроллера управления музыкой в автомобиле воспроизводимой смартфоном посредством Bluetooth, с управлением резистивными кнопками на руле. Начало здесь.

Теперь, садимся в машину – смартфон подключается и начинает играть музыка. Выходим из машины – музыка в смартфоне становится на паузу. При этом смартфон не нужно доставать из кармана вообще. Даже треки можно переключать кнопками на руле!

Отличительные особенности устройства:

Bluetooth. Используется Китайский модуль XS3868 Ver. 3.0, позволяющий помимо воспроизведения музыки еще и управлять медиаплеером в смартфоне прикидываясь Bluetooth-гарнитурой.

ATmega8A. Именно такой контроллер позволил в полной мере реализовать все задуманное в полном объеме, оставив запас ресурсов для улучшения и обновления устройства.

UART. Общение микроконтроллера с модулем происходит по линии UART посредством AT-команд, что позволило значительно расширить возможности устройства в сравнении с “кнопочным” управлением. При этом линия UART микроконтроллера гальванически развязана с Bluetooth-модулем.

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

USBASP. Несложный и дешевый программатор может использоваться для самостоятельного обновления прошивки.

Звук. Качество звука ничем не отличается от обычной автомобильной mp3-магнитолы, медиаплейера или mp3-адаптера (типа популярного Yatour), а с FM-трансмиттером не стоит даже сравнивать. Понятное дело, что истинных “аудиофилов”, “дрожащих от джиттера” на почти каждой CD-юшке, воротит от слова “эмпэтри”, но стоит признать, что этот формат сжатия музыки не спроста очень популярен и на сегодняшней день доступен каждому.

Аудиовыход. Выход звука модуля отделен от общей шины питания, что позволило реализовать несложную схему универсального подключения как к обычному линейному входу усилителя, так и к балансному. Керамические конденсаторы на выходе не просто “подгон аудиофилам” – с ними действительно лучше звучит.

Autoconnect. Алгоритм автоматического соединения разработан для наиболее быстрого и неизбежного соединения с смартфоном появившемся в радиусе действия Bluetooth-модуля и заранее с ним сопряженным – микроконтроллер будет заставлять модуль соединяться с смартфоном до тех пор, пока смартфон “лично” не подтвердит факт установки соединения.

Надежность соединения. Микроконтроллер устройства непрерывно опрашивает модуль и контролирует реакцию модуля на посланный запрос, не давая модулю зависнуть или уйти в “спячку”. Таким образом Bluetooth-модуль всегда “на позитиве” или в “активном поиске”.

Радиус действия. Зависит от двух факторов – качества Bluetooth-модуля в смартфоне и места установки платы устройства в автомобиле. Например, Китайский Homtom HT7 Pro прекрасно работает в радиусе до 3м во круг автомобиля, при условии установки платы на внутренней стороне пассажирской стороны передней консоли.

Autoplay. Алгоритм автоматического старта воспроизведения музыки после установки надежного канала связи смартфона с Bluetooth-модулем. Можно отключить перемычкой-джампером на плате. После выключения модуля смартфон автоматически переводится в режим паузы воспроизведения если музыка играла и при повторном подключении музыка начнет играть с того-же места.

Звуковые сигналы. Все, что происходит с модулем и микроконтроллером подтверждается различными звуковыми сигналами – модуль “пиликает” в эфир, микроконтроллер, пикает встроенным на плату зуммером. Встроенный зуммер можно отключить перемычкой-джампером.

Android. 100%-я совместимость проверена с смартфонами на Android 2.3, Android 4, Android 5.1, Android 6. Проверены смартфоны почти всех “именитых” брендов Samsung, LG, Sony, HTC, а также Китайские поделки Star 15i, Dexp, Homtom HT7 Pro, Lenovo. Производитель модуля XS3868 “мамой” клянется о совместимости со всеми “девайсами” где есть возможность подключения Bluetooth-гарнитуры независимо от типа операционной системы.

Handsfree. В этой версии контроллера нет и не будет.

В ходе разработки контроллера я перепробовал 3 вида разных модулей и на XS3868 Ver.3.0 остановился только потому, что на него была хоть какая-то внятная информация от производителя — схемы подключения, управляющие команды. На мой взгляд модуль еще нужно дорабатывать и дорабатывать потому, что в нем полно косяков и прочего неадеквата. Как показала практика, он крайне ненадежен и нестабилен поэтому, чтобы заставить его отрабатывать на 100% пришлось неоднократно сделать сальто через голову назад с паяльником в руках.

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

Модуль XS3868 разработан для применения в мобильных устройствах, соответственно питается «мобильным» напряжением 3.6-4.2В. Пробовал питать модули напряжением 5В и они работали… недолго. Поэтому, после DC-DC 5В-5В преобразователя стоит линейный LDO стабилизатор на 3.3В. В идеале, конечно, лучше сразу применить преобразователь 5В-3.3В, но он совершенно непопулярен у Китайцев, поэтому стоит как киловаттный трансформатор.

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

Транзистор в цепи питания DC-DC преобразователя нужен для организации сброса модуля при его неадекватной работе. Например, модуль может перестать отзываться на входящие команды по UART, при этом продолжать воспроизводить музыку. Или он может самопроизвольно начать бесконечный цикл поиска нового устройства, при этом не находя смартфон «у себя под носом». Но самый крутой косяк — он может уйти в спячку после нескольких минут простоя и вывести его из этого состояния программным сбросом невозможно! Кроме того, модуль совершенно не реагирует на лог. состояние ноги RESET.

Модули также оказались беспомощными перед статическим электричеством — они умудрялись «сгорать» даже при присоединении аудио разъема. Просто начинали хрипеть в один канал и «жрать» по 200мА. Один модуль изначально приехал нерабочим. В результате, на данный момент, имеем уже 3 безполезняшки – один раненый, другой контуженный третий родился уродом. Продолжаем битву за радиосвязь.

Изначально предполагалось управлять модулем путем имитирования нажатий кнопок PLAY, BACK и NEXT, но в присланный мне модуль оказался бракованным – не реагировал на нажатие кнопки PLAY. Кроме того, оказалось, что модуль передает и может принимать команды управления по UART-интерфейсу, что существенно облегчило задачу и расширило возможности управления. В итоге микроконтроллер общается с модулем всего по двум проводкам RXD и TXD, а функциональность устройства в целом определяется только программой микроконтроллера.

В дополнение ко всему еще и модуль перестал петь! Просто перестал, греется как утюг и не поет. Что тут скажешь, тернист «путь к истине» – заказал новый. Прошел месяц…

Пока «летели» (ползли) Почтой новые модули потихоньку мучал старый, пытаясь добиться от него внятной передачи информации по UART. Дело в том, что модуль передает строку символов как обычно – через жопу. Например, мы ему передаем управляющую команду «AT#MA», он должен подтвердить ее принятие ответом «OK» и потом вернуть подтверждение исполнения команды от смартфона «MR». Но при помощи обычного оператора «Input» МК принимал только первый символ, т.е только «O» и «M». При этом компьютерный терминал прекрасно понимает команды модуля и видит все символы, микроконтроллер также отлично принимает и передает любые строки в ПК, а модуль не понимает. Пришлось взрыхлить весь интернет на тему посимвольного приема данных в UART и формирования из них строки. «Гугл» трещал от моей атаки, но сдался и в результате я все-таки выудил подходящий кусок исходника.

Естественно сразу ничего не заработало, пришлось как следует вникнуть в тему, но зато удалось придумать идеальный алгоритм приема данных UART. Не стану углубляться в подробности устройства управляющей программы МК потому, что исходник постарался хорошо прокомментировать и выкладываю в свободный доступ. Такой, своеобразный, подарок «чисто от меня». Делаю так потому, что сам вчера был начинающим «программастом» и учился на таких же исходниках, поэтому знаю им цену и сознательно жертвую все исходные данные в пользу начинающих радиолюбителей. Так сказать, возвращаю должок, ибо равновесие мира держится на истине: берешь чужое, возвращаешь свое.

Вообще, установить надежный канал связи с модулем оказалось проблемой по причине того, что в данном тандеме имеет место быть т.н. «паразитная запитка». Это такое явление, когда питание одного из участвующих в тандеме устройств не подключено, но устройство работает и даже пытается общаться по RXD-TXD линии. Типичному «микроконтроллерщику» прочтенное сейчас, наверное, глаза порезало, но тот, кто в 90-х соединял два ПК через COM-порты не только для игры в Quake, должен быть «в теме». Для защиты от такого неприятного явления давно используется простая хитрость на диоде и подтягивающем резисторе вывода TXD «косячного» устройства – в данном случае модуля Bluetooth.

Но так было до того как я применил DC-DC преобразователь для питания модуля. После этого появилась новая проблема — необходимость гальванической развязки цепей управления RXD и TXD. Для чего я применил оптроны. Да не простые, а высокоскоростные (с транзистором) 6N136 потому, что «по умолчанию» модуль почему-то настроен на передачу данных по UART на высокой скорости — 115200 бод и а-бы какой оптрон не подойдет (сказки слагать уже начал).

В начале исполняемой программы все понятно — подготовка к старту основного текста программы: конфигурируем порты и АЦП, объявляем переменные и прерывания. Потом подготовка локальных переменных и небольшая пауза перед новым стартом модуля.

Состояние подключения и контроль управления смартфоном управляющая программа МК осуществляет по состоянию профилей A2DP (Advanced Audio Distribution Profile) и AVRCP (Audio/Video Remote Control Profile). Профиль Hands-Free Profile (HFP) не используется по тому, что в устройстве изначально не планировался режим громкой связи по причине того, что данный модуль не может физически обеспечить качественную работу с салонным микрофоном. Для того. что-бы «звонить» и принимать входящие вызовы на смартфон, нужно в настройках соединения с модулем убрать галочку с пункта «Профиль HSP/HFP», тогда музыка будет автоматически ставиться на паузу на время разговора.

Сопряжение выполняется в обычном порядке, как и с любым др. Bluetooth-устройством. Пароль для сопряжения: 0000 или 1234, имя устройства: POR 1007BT. Сопряжение нужно выполнить один раз, после чего смартфон будет самостоятельно подключаться к модулю устройства каждый раз, когда окажется в зоне «доступности». Управляющая программа МК заставляет модуль постоянно сканировать «эфир» на предмет наличия в зоне видимости заранее сопряженного смартфона. Если в течении нескольких минут модуль не находит «жертву», то он обижается и уходит в глухую оборону. И из этого состояния его разумными средствами вывести невозможно — не помогает даже физическое «дерганье» ноги RESET. Поэтому, если модулю не удается соединиться с смартфоном в течении определенного времени или он норовит уйти в спячку (о чем он, кстати, вежливо предупреждает) он сбрасывается и цикл установки соединения запускается заново.

Прием данных по UART осуществляется в подпрограмме прерывания UART. Модуль передает данные в виде символов по таблице ASCII в формате сообщение , поэтому в цикле подпрограммы контролируем прием символа Enter, который условно является началом нового сообщения и концом текущего. Между символами Enter формируем сообщение конвертируя и складывая принятые символы. После завершения приема выполняется простейшая обработка принятой информации путем присваивания принятого значения соответствующей переменной. Не самый лучший вариант обрабатывать информацию в прерывании, но дело в том, что модуль постоянно что-то передает и поэтому такой способ оказался эффективным для отсеивания лишнего. Всю принятую информацию от модуля МК перетранслирует в UART для терминала на компьютере и наоборот — с компьютера можно через микроконтроллер управлять модулем.

Управляющая программа МК подразумевает использование резистивных кнопок на руле. На сколько мне известно, такой способ применяют 9 из 10 производителей автомобилей в попытке сэкономить пару проводников на рулевом шлейфе. Для считывания состояния кнопок входы АЦП микроконтроллера подключены параллельно штатному блоку управления. Опрос значения АЦП производится в подпрограмме основного цикла. Для фильтрации ложных срабатываний, помимо конденсаторов на входах АЦП, в подпрограмме обработки значения АЦП применен простой алгоритм многократного повторного считывания значения. Дело в том, что в «мега» AVR-ках есть такой косяк (один из многих) — первое считанное значение АЦП всегда завышено и соответственно неверно. При этом все последующие значения стремятся к истине в логарифмическом порядке. Т.е. после 2-3 замеров значение переменной АЦП теоретически можно принять за верное потому, что такая переменная не может быть дробной и будет бесконечно округляться компилятором до целого числа.

Изначально, в управляющей программе МК заложены определенные значения АЦП, соответствующие кнопками UP и DOWN моего автомобиля. При необходимости изменить эти значения (перенастроить кнопки) выполняется след. порядок действий:

Читайте также:  Установки вентиляционные наружного исполнения

Нажать кнопку PROG на плате устройства.
Нажать кнопку UP на руле.
Нажать кнопку DOWN на руле.

После нажатия кнопок на руле, их значения сохраняются в энергонезависимой памяти и восстанавливаются каждый раз при включении устройства. Успешное сохранение значений кнопок в памяти подтверждается звуковым сигналом. В последствии, нажатия запрограммированных кнопок также подтверждаются звуковым сигналом при условии, что перемычка-джампер BUZZER установлена.

Перед тем, как попасть в основной цикл управляющая программа проверяет уровень выходной громкости модуля. Такой алгоритм пришлось добавить по причине того, что некоторые модули при выключении успевают самовольно (без команды) убавить уровень громкости на 1 ед. (всего 15 ед.). Алгоритм настроен таким образом, чтобы поддерживать громкость всегда на максимальном уровне.

После проверки громкости проверяется положение перемычки-джампера AUTOPLAY и готовность смартфона принимать управляющие команды. Если смартфон в течении опред. времени сообщает о готовности к внешнему управлению управляющая программа переходит в основной цикл. Если при этом перемычка-джампер AUTOPLAY установлена, запускается короткая подпрограмма автостарта воспроизведения музыки на смартфоне. Остановка воспроизведения музыки выполняется операционной системой Android (4.0 и выше) автоматически, при разрыве Bluetooth-соединения.

Для улучшения надежности устройства на этапе наладки в микроконтроллере был включен аппаратный Watchdog, да по сей день там и остался. Таймер настроен на пару сек. и периодически сбрасывается по ходу выполнения управл. программы МК. В данной версии прошивки необходимости в нем нет — все работает стабильно, но «подтирать» его я не стал по причине того, что на некоторых автомобилях МК умудряется самопроизвольно «зависнуть» в момент запуска двигателя автомобиля. Если такое произойдет — МК «самосбросится» и работа устройства возобновится.

Данная версия устройства названа стебно в результате слияния названия моего любимого автомобиля и термина Bluetooth — BLUEFINITI. 100% совместимость гарантируется с автомобилями Nissan/Infiniti 2003-2008г/в. Версия 1.2 означает, что перед «финальной» разработкой героически погибло немного доноров-испытателей, но на данном этапе все проблемы решены и устройство полностью готово для повторения. Из-за ограничений Драйва на кол-во символов и фото данная версия статьи сильно порезана. Полная версия статьи статьи находится на моем сайте: p90590qa.bget.ru/steering-button-bluetooth. Там же публикуются исходники, обновления и прочие материалы к статье.

Экстерном отвечу на наиболее вероятные вопросы:

• Почему именно такой модуль? Выбор модуля не принципиален, использую буквально «какой попался под руку». Вполне возможно, в будущих поделках, будет другой модуль потому, что от этого я сам не в восторге. Но, т.к., в итоге мне удалось добиться поставленной задачи, поэтому новый проект на эту тему будет подождет.

• Почему Bascom? Сам себе иногда задаю этот вопрос. Ассемблер, в принципе, понимаю, могу наваять несложный «скетч», подправить чужое творение, но не люблю его – в языках высокого уровня мы пишем, что нужно сделать и проверяем результат, а компилятор пусть сам мается, как это сделать. На языке программирования низкого уровня нужно абсолютно все писать самому. В этом случае, программирование превращается в розыск готовых «скетчей» или штудирование своих прошлых наработок. «Ардуинщики» поймут – вы же все «программисты».

• Почему схема, плата, исходники программного кода и прочие материалы в открытом доступе? Потому, что я не боюсь конкуренции. Дело не в излишней самоуверенности или безграничной щедрости, дело в том, что я не Хохол. Я не пытаюсь заработать на всем, что можно продать, делая себе рекламу на всевозможных «общесоциальнозначимых» ресурсах. Я занимаюсь тем, что мне интересно, не думая о прибыли и расходах. Я уверен, что тот, кто может сам создать подобное, даже до середины не дочитал. Поэтому ему совершенно неинтересны мои потуги в освоении Bascom-а – он все это сможет сам. Кто не сможет это сделать сам, тот просто не станет забивать себе голову – купит у меня готовую плату и будет пользоваться.

• Почему я продаю готовые устройства? Было бы здорово, если бы я их бесплатно раздавал? Раздаю, друзьям и «тестерам», бывает такое. А продаю потому, что чтобы сделать себе одно устройство за 500р. нужно купить по 100 радиодеталей каждого номинала за 2000р. Я не пытаюсь «набарыжить» лишнего, я всего лишь надеюсь оправдать затраченное. Радиолюбительство это не то хобби, которым зарабатывают – это мания, неуемное желание создать что-то новое, жертвуя всем, себе в ущерб – когда выбор стоит между покупкой обуви на зиму или «крайненеобходимоймнемикросхемы» я выберу микросхему. Кто в теме, то поймет, всем остальным объяснить не смогу – это понять невозможно, это образ жизни.

• Почему DipTrace? Х.з, уже привык, уже кажется удобным. Знаю его с детства (с его детства), тогда даже Sprint-а еще не было. Выбор был небольшой — либо DipTrace либо PCAD или ему подобные монстры. Не все устраивает, но переучиваться не хочу – он как-то профессиональней Sprint Layout-а. Вот если их объединить, получился бы идеальный комплекс для разработки печатных плат. DipTrace не хватает простоты общения с разработчиком и создания новых компонентов как в Sprint-е, но это компенсируется итоговой экономией времени на создание проекта.

• «Вот Мой знакомый встроил себе в магнитолу такой же модуль, но у него с ним нет таких проблем как у Вас» — частая фраза дилетанта. Ваш знакомый Вам точно не договаривает или просто не использует все возможности модуля. Пусть это покажется самоуверенно, но, кроме меня, никто не добился внятной и адекватной работы модуля. По крайней мере я, не нашел ни одного сайта, форума блога — ничего, где кто-либо сделал что-то подобное. В основном все ограничиваются припаиванием к модулю наушников, кнопок и батарейки.

• Смысл в разработке данного устройства, если на АлиЭкспресс можно купить готовое? Выше я уже подробно все описал, если у Вас возник подобный вопрос, значит Вы не все прочитали. Повторю: основной модуль устройства я купил на АлиЭкспресс и заеб*лся его побеждать даже в таком простом проекте. Купив на Али более сложное (готовое) устройство, по факту Вы купите тот же х*й в красивой упаковке и с теми же косяками. Лично мне, кажущийся несложным, на первый взгляд, проект, дался очень тяжело. В основном виной тому ловля блох в разуме Китайского образа мышления. Сделанный наперекосяк модуль только на первый взгляд кажется простым и понятным — пока я с ним тренировался, я Datasheet на вражеском языке я выучил наизусть. В итоге, я сажусь в машину «к Вашему знакомому», он мне включает свой «заводской Китай» и-и-и… я слышу те же косяки со звуком, которые я победил, слышу фон в колонках, которого у меня нет. Он звонит мне по «громкой связи» и я ничего не слышу кроме треска, он орет в микрофон — слышу его хорошо, но много раз (эхо).

• Почему не реализована функция громкой связи? Потому, что громкая связь в модуле реализована через жопу! Понимаю, что сейчас восстанут все диванный эксперты с гимнами: «Я пробовал лично, все работает!». А лично, в машине, на ходу, в старой «десятке» кто-нибудь пробовал? Когда в салоне шум такой, что магнитолу ниже 1/3 громкости не слышно, когда разговор парня и его девушки со стороны похож на семейный скандал, когда тещу, сидящую на заднем диване, можно послать прямым текстом, а она думает, что ты ей здоровья пожелал, когда звонок телефона в принципе не слышно если он стоит в пол/громкости… Я пробовал: пробовал разные микрофоны, настройки, «подтяжки» и «подвязки», «паразитное» и «фантомное» питание, предусилитель, результат один — сам модуль не способен качественно отфильтровать шум в салоне и усилить полезный сигнал. Про эхо и «помехи в эфире» я у писал.

• Есть ли готовые устройства «на продажу». Готовых нет — себестоимость устройства высока, поэтому все делается только «под заказ» после предоплаты.

Кто дочитал сей роман – респект. Желаю всем в новом году добра, бобра, тачку, бабки и что-б «паяльник» не подвел в ответственный момент. И еще – больше музыки, хорошей и разной.

источник

Добавить комментарий

Adblock
detector