Показать сообщение отдельно
Старый 24.03.2013, 19:07   #1
zyxel812
Старший Пользователь
 
Регистрация: 18.02.2013
Возраст: 41
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
zyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to all
По умолчанию Конфигурируемый контроллер кнопок и кнопок на руле автомобилей 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
Программу teensy_loader.exe и файл MultiKeyboard.hex ищите в приложенном архиве.

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

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

Главное окно:


Назначение выходов:


Назначение клавиш:


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

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

Последний раз редактировалось zyxel812; 16.04.2015 в 21:44. Причина: Добавил исходники
zyxel812 вне форума   Ответить с цитированием