24.03.2013, 19:07 | #1 |
Старший Пользователь
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
|
Конфигурируемый контроллер кнопок и кнопок на руле автомобилей BMW
Представляю вашему вниманию устройство, которое подключается к pccar посредством USB порта. Устройство «прикидывается» клавиатурой и последовательным портом (COM-портом) одновременно.
К устройству может быть подключено до 15-ти кнопок и/или до 14 светодиодов (или, например, реле для управления чем-либо). При этом коды клавиш и назначение выводов конфигурируется посредством программы-конфигуратора. Устройство может быть подключено к шине IBUS автомобилей BMW. По шине устройство «отлавливает» нажатия кнопок на руле и эмитирует нажатие клавиши клавиатуры. Нажатие каких именно клавиш эмулировать, задается конфигуратором. Устройство умеет эмулировать нажатия не только отдельных простых клавиш, но и в сочетании с модификаторами, такими как shift, control, alt и клавишей windows. А также нажатие мультимедийных клавиш, которые «на ура» воспринимает Android, в результате возможно с кнопок управлять звуком, треками, а так же запускать отдельные программы, например, браузер или плеер. Через виртуальный последовательный порт возможно получать все данные с шины IBUS и передавать в нее данные. Вот одна из возможных схем: Кому лень разводить и травить плату, возможно заказать почти готовый контроллер от сюда за 23,5$ (UPD: по ссылке уже не продается, перечень других ссылок в этом посте) В нем не хватает микросхемы MC33290 для подключения к шине IBUS. Кому нужны просто резистивные кнопки, ничего делать не надо. Кому требуется подключение к IBUS, микросхему можно купить отдельно здесь или в любом другом магазине радиоэлектроники (цена максимум 200 рублей). Подключить микросхему возможно навесным монтажом. Вот, правда не самый красивый, пример: Выводы микросхемы подключайте согласно схеме. Кнопки подключаются одним выводом к земле (обозначена gnd), вторым выводом к соответствующему порту (обозначены Bx, Cx, Dx, где x – любая цифра). Светодиоды подключаются одним выводом к порту, другим могут быть подключены как к земле, так и к +5. В конфигураторе предусмотрено инвертирование выходных сигналов. Не забываем последовательно включить резистор, обычно 470 Ом. Контроллер по указанной мной ссылке уже имеет прошитый загрузчик. Чтобы залить в него прошивку, не нужно иметь программатор, нужно просто подключить его к компьютеру, нажать единственную имеющуюся на нем кнопку и из командной строки выдать следующую команду: Код:
teensy_loader.exe -v -mmcu=at90usb162 MultiKeyboard.hex После прошивки, на компьютере с windows устройство определится как составное устройство, при этом драйвер на клавиатурную часть поставится автоматически, а для последовательного порта потребуется драйвер, который имеется в архиве. После установки драйвера, можно приступать к конфигурированию. Конфигурирование производится программой ibus2keyconf.exe. Выберите порт, который был присвоен нашему виртуальному последовательному порту, нажмите «Подключиться». Если не будет ошибок, в устройство станет возможно записать конфигурацию и считать её. Возможности программы конфигурирования наглядно демонстрируются скриншетами: Главное окно: Назначение выходов: Назначение клавиш: Наглядная схема подключения к машине Микросхему MC33290 можно заменить на L9637, в этом случае схема подключения будет такая. UPD (27.08.2014): Версия для контроллера ATmega32U4. Реализована обработка дополнительных двух кнопок на руле. UPD (16.04.2015): Наткнулся на статью, которая сможет помочь разобраться с прошивкой Arduino: Прошивка любого Hex-файла в Arduino при помощи штатного загрузчика Последний раз редактировалось zyxel812; 16.04.2015 в 21:44. Причина: Добавил исходники |
25.03.2013, 14:52 | #2 |
Старший Пользователь
Регистрация: 05.12.2012
Возраст: 41
Регион: 78, 98
Сообщений: 433
|
Вот бы еще прошивку к схеме... Что бы задействовать CAN от того же WV. Интересно IBUS отличается на уровне железа от CAN?
|
25.03.2013, 18:48 | #3 |
Пользователь
Регистрация: 15.11.2007
Возраст: 39
Город: Tallinn
Регион: ***эстония***
Машина: Audi Allroad
Сообщений: 34
|
да, тоже интересует возможность на ауди повесить сие чудо
|
25.03.2013, 20:02 | #4 |
Старший Пользователь
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
|
IBUS - это K-Line, can - совсем другое. У can на много больше скорость передачи, через переходник к контроллеру его не подключить, нужен контроллер с can на борту.
По поводу подключения к другим машинам, то если скорость передачи по их шинам укладывается в максимальную скорость интерфейса usart микроконтроллера (это примерно 115200бит в секунду) и существуют микросхемы преобразователи шина_авто<->usart, то подключить можно без особых переделок. Если найдется фанат своего автомобиля, который найдет по какой шине и как передается информация с кнопок на руле, потом будет готов ставить на нём эксперименты. То я готов с ним по сотрудничать, чтобы адаптировать это устройство в том числе и к вашему автомобилю. |
25.03.2013, 21:10 | #5 |
Новый Пользователь
Регистрация: 14.05.2009
Возраст: 38
Город: Москва
Регион: 77, 97, 99, 177
Машина: Citroen c5-3(x7)
Сообщений: 3
|
А мне нужно для ситроена с каном....
Как я понял,представленное устройство работает с простой клавиатурой,да? |
25.03.2013, 22:31 | #6 |
Старший Пользователь
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
|
|
25.03.2013, 23:34 | #7 |
Moderator
Регистрация: 04.04.2009
Возраст: 68
Город: Краснодар
Регион: 23, 93
Машина: HONDA CR-V-08
Сообщений: 3,113
|
Вопрос к TC а если сравнить с этим http://www.cartft.com/catalog/il/1068 то что лучше и в чем преимущества того или иного? просто в раздумьях что брать и стоит ли переплачивать (А там еще есть и такое http://www.cartft.com/catalog/il/1552), да речь есс-но не идет о считывании там разных шин.
|
26.03.2013, 10:18 | #8 |
Старший Пользователь
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
|
Возможно и не лучше. Я просто поделился результатами своих изысканий. Устройство разрабатывалось в первую очередь для общения с шиной моего автомобиля, т.е. можно получить прямой доступ к шине через виртуальный com-порт. Попутно, для декодирования кнопок на руле, чтоб можно было подключить к андроиду без всяких дополнительных программ. Ну и, так как всеравно был уже реализован HID Class Device и остались свободные порты, был добавлен ещё и функционал обычных кнопок и выходов. Сравнивать и решать что лучше для вас - вам самим.
|
26.03.2013, 13:36 | #9 |
Новый Пользователь
Регистрация: 14.05.2009
Возраст: 38
Город: Москва
Регион: 77, 97, 99, 177
Машина: Citroen c5-3(x7)
Сообщений: 3
|
|
28.03.2013, 13:11 | #10 | |
Moderator
Регистрация: 04.04.2009
Возраст: 68
Город: Краснодар
Регион: 23, 93
Машина: HONDA CR-V-08
Сообщений: 3,113
|
Цитата:
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|