Цитата:
Сообщение от doctor
Форумчане, помогите пожалуйста подключить правильно к LPT-порту кнопки подрулевого управления моей машины (renault scenic II). Самому удалось правильно подключить только 2 кнопки (громкости) из 8 возможных функций, реализуемых 5-ю кнопками и одним колёсиком с двухсторонним вращением и нажатием. Кнопки простейшие, работающие по принципу замыкания/размыкания цепи безо всяких сопротивлений (до оцифровывающего блока). Проблема в том, что 6 контактов разъёма подрулевого пульта управления аудиосистемой (удалена), замыкаются кнопками попарно в виде матрицы, т.е. без общего провода для всех кнопок.
Присоединяю маленький файлик с таблицей функций.
|
Цитата:
Сообщение от doctor
2 контакта попарно замыкающие при вращении площадки: 1-2, 1-3, 1-4, 1-5, 1-6 или 1-7. При этом звонятся тестером (соеденены дорожками) контакты 2-5, 3-6 и 4-7. А нажатие на колёсико реализовано отдельной кнопкой.
|
Предлагаю раскомутировать через три оптрона. При нажатии какой-либо из кнопок ток начинает течь только из одной из ножек (765) матрицы т.е. лпт чует задействованую строку, оттуда ток уходит в землю, но на-последок проходит через оптрон. А у оптронов выходы идут в ножки (234) и лпт так чует задействованный столбец матрицы, т.е. при любом нажатии ток начинает течь через две ножки. И всегда разные.
Распиновку лпт смотреть в начале темы "управляем громкостью" и "устройства ввода через LPT" где были драйвера джойстика атари. Тамже отличный рабочий скрипт Hamstera и Co, в который надо будет внести соотвт. изменения. Для редактирования скрипта понадобится autohotkey.com, заодно можно скомпилить независимый ехешник.
Вот картинки, вторая картинка - это mute, когда в лпт ток начинает течь через 6 и 4 ножки.
Оптроны предпочитаю первыепопашиеся, обычно попадаются выпаянные из сгоревшего БП 220в.
Эскиз скрипта ahk:
Код:
Весь скрипт пишется методом подставленя к кнопкам виртуального
жостика например кнопок виртуальной клавиатуры (может даже медийных).
Нужно определиться с фронтендом-списком команд т.к. под RR и его семейства
winamp-based-programs проще посылать wm-commands. В ICT и другим
media-player-based программах логичнее использовать кнопки медийной
клавиатуры (виртуально конечно)
Скрипт колесика чуть сложнеее, но тоже независит от времени-циклов.
При пуске скрипта опрашивается 6-7-8 контакты и текущее значение
заносится в переменную, напр. n:=8. Затем, при написании действий кнопок
жостика 6-7-8 пишутся такие строчи:
При нажатии кнопки 6:
1. Посмотреть переменню n.
2. Если она 7, то нажать курсор вверх.
3. Если она 8, то нажать курсор вниз.
4. Переменной n присвоить значени := 6
При нажатии кнопки 7:
1. Посмотреть переменню n.
2. Если она 8, то нажать курсор вверх.
3. Если она 6, то нажать курсор вниз.
4. Переменной n присвоить значени := 7
При нажатии кнопки 8:
1. Посмотреть переменню n.
2. Если она 6, то нажать курсор вверх.
3. Если она 7, то нажать курсор вниз.
4. Переменной n присвоить значени := 8
Таким образом колесико будет построчно листать списки курсорами вверх-вниз,
независимо от скорости lptпорта принципов действия енкодеров и жизни на марсе