PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Разработка устройств (http://pccar.ru/forumdisplay.php?f=18)
-   -   Конфигурируемый контроллер кнопок и кнопок на руле автомобилей BMW (http://pccar.ru/showthread.php?t=18903)

zyxel812 24.03.2013 19:07

Конфигурируемый контроллер кнопок и кнопок на руле автомобилей BMW
 
Вложений: 2
Представляю вашему вниманию устройство, которое подключается к pccar посредством USB порта. Устройство «прикидывается» клавиатурой и последовательным портом (COM-портом) одновременно.

К устройству может быть подключено до 15-ти кнопок и/или до 14 светодиодов (или, например, реле для управления чем-либо). При этом коды клавиш и назначение выводов конфигурируется посредством программы-конфигуратора.

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

Устройство умеет эмулировать нажатия не только отдельных простых клавиш, но и в сочетании с модификаторами, такими как shift, control, alt и клавишей windows. А также нажатие мультимедийных клавиш, которые «на ура» воспринимает Android, в результате возможно с кнопок управлять звуком, треками, а так же запускать отдельные программы, например, браузер или плеер.

Через виртуальный последовательный порт возможно получать все данные с шины IBUS и передавать в нее данные.

Вот одна из возможных схем:
https://lh6.googleusercontent.com/-J...s986/shema.png

Кому лень разводить и травить плату, возможно заказать почти готовый контроллер от сюда за 23,5$ (UPD: по ссылке уже не продается, перечень других ссылок в этом посте)
https://lh6.googleusercontent.com/-N...661/teensy.jpg
В нем не хватает микросхемы MC33290 для подключения к шине IBUS. Кому нужны просто резистивные кнопки, ничего делать не надо. Кому требуется подключение к IBUS, микросхему можно купить отдельно здесь или в любом другом магазине радиоэлектроники (цена максимум 200 рублей). Подключить микросхему возможно навесным монтажом. Вот, правда не самый красивый, пример:
https://lh6.googleusercontent.com/-4...24/mc33290.JPG
Выводы микросхемы подключайте согласно схеме.

Кнопки подключаются одним выводом к земле (обозначена gnd), вторым выводом к соответствующему порту (обозначены Bx, Cx, Dx, где x – любая цифра).

Светодиоды подключаются одним выводом к порту, другим могут быть подключены как к земле, так и к +5. В конфигураторе предусмотрено инвертирование выходных сигналов. Не забываем последовательно включить резистор, обычно 470 Ом.

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

teensy_loader.exe -v -mmcu=at90usb162 MultiKeyboard.hex
Программу teensy_loader.exe и файл MultiKeyboard.hex ищите в приложенном архиве.

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

После установки драйвера, можно приступать к конфигурированию. Конфигурирование производится программой ibus2keyconf.exe. Выберите порт, который был присвоен нашему виртуальному последовательному порту, нажмите «Подключиться». Если не будет ошибок, в устройство станет возможно записать конфигурацию и считать её. Возможности программы конфигурирования наглядно демонстрируются скриншетами:

Главное окно:
https://lh5.googleusercontent.com/-I.../s670/scr1.png

Назначение выходов:
https://lh5.googleusercontent.com/-5.../s307/scr2.png

Назначение клавиш:
https://lh4.googleusercontent.com/-H.../s740/scr3.png

Наглядная схема подключения к машине
Микросхему MC33290 можно заменить на L9637, в этом случае схема подключения будет такая.

UPD (27.08.2014): Версия для контроллера ATmega32U4. Реализована обработка дополнительных двух кнопок на руле.
UPD (16.04.2015): Наткнулся на статью, которая сможет помочь разобраться с прошивкой Arduino: Прошивка любого Hex-файла в Arduino при помощи штатного загрузчика

VVi3ard 25.03.2013 14:52

Вот бы еще прошивку к схеме... Что бы задействовать CAN от того же WV. Интересно IBUS отличается на уровне железа от CAN?

jundik 25.03.2013 18:48

да, тоже интересует возможность на ауди повесить сие чудо

zyxel812 25.03.2013 20:02

IBUS - это K-Line, can - совсем другое. У can на много больше скорость передачи, через переходник к контроллеру его не подключить, нужен контроллер с can на борту.
По поводу подключения к другим машинам, то если скорость передачи по их шинам укладывается в максимальную скорость интерфейса usart микроконтроллера (это примерно 115200бит в секунду) и существуют микросхемы преобразователи шина_авто<->usart, то подключить можно без особых переделок.
Если найдется фанат своего автомобиля, который найдет по какой шине и как передается информация с кнопок на руле, потом будет готов ставить на нём эксперименты. То я готов с ним по сотрудничать, чтобы адаптировать это устройство в том числе и к вашему автомобилю.

davidUSR 25.03.2013 21:10

А мне нужно для ситроена с каном....

Как я понял,представленное устройство работает с простой клавиатурой,да?

zyxel812 25.03.2013 22:31

Цитата:

Сообщение от davidUSR (Сообщение 252474)
А мне нужно для ситроена с каном....

Как я понял,представленное устройство работает с простой клавиатурой,да?

Оно работает КАК простая клавиатура. Только вместо клавиш у него простые кнопки и кнопки на руле.

Vladget 25.03.2013 23:34

Вопрос к TC а если сравнить с этим http://www.cartft.com/catalog/il/1068 то что лучше и в чем преимущества того или иного? просто в раздумьях что брать и стоит ли переплачивать (А там еще есть и такое http://www.cartft.com/catalog/il/1552), да речь есс-но не идет о считывании там разных шин.

zyxel812 26.03.2013 10:18

Возможно и не лучше. Я просто поделился результатами своих изысканий. Устройство разрабатывалось в первую очередь для общения с шиной моего автомобиля, т.е. можно получить прямой доступ к шине через виртуальный com-порт. Попутно, для декодирования кнопок на руле, чтоб можно было подключить к андроиду без всяких дополнительных программ. Ну и, так как всеравно был уже реализован HID Class Device и остались свободные порты, был добавлен ещё и функционал обычных кнопок и выходов. Сравнивать и решать что лучше для вас - вам самим.

davidUSR 26.03.2013 13:36

Цитата:

Сообщение от zyxel812 (Сообщение 252486)
Оно работает КАК простая клавиатура. Только вместо клавиш у него простые кнопки и кнопки на руле.

Ясно..значит придется свое корячить...

Vladget 28.03.2013 13:11

Цитата:

Сообщение от zyxel812 (Сообщение 252522)
Возможно и не лучше. Я просто поделился результатами своих изысканий. Устройство разрабатывалось в первую очередь для общения с шиной моего автомобиля, т.е. можно получить прямой доступ к шине через виртуальный com-порт. Попутно, для декодирования кнопок на руле, чтоб можно было подключить к андроиду без всяких дополнительных программ. Ну и, так как всеравно был уже реализован HID Class Device и остались свободные порты, был добавлен ещё и функционал обычных кнопок и выходов. Сравнивать и решать что лучше для вас - вам самим.

Нее.. я без претензий просто ради интереса так как в раздумьях, но все равно понятно спасибо


Часовой пояс GMT +4, время: 23:01.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot