подрулевые renault scenic II в LPT
Цитата:
Цитата:
Распиновку лпт смотреть в начале темы "управляем громкостью" и "устройства ввода через LPT" где были драйвера джойстика атари. Тамже отличный рабочий скрипт Hamstera и Co, в который надо будет внести соотвт. изменения. Для редактирования скрипта понадобится autohotkey.com, заодно можно скомпилить независимый ехешник. Вот картинки, вторая картинка - это mute, когда в лпт ток начинает течь через 6 и 4 ножки. http://forum.pccar.ru/attachment.php...7&d=1205739107 http://forum.pccar.ru/attachment.php...8&d=1205739159 http://forum.pccar.ru/attachment.php...9&d=1205739208 Оптроны предпочитаю первыепопашиеся, обычно попадаются выпаянные из сгоревшего БП 220в. Эскиз скрипта ahk: Код:
Весь скрипт пишется методом подставленя к кнопкам виртуального |
Спасибо за помощь! Но картинок что-то не видно.
|
Может быть такую штуку попробовать http://indashpc.org/new/adapters/car2pc-ren.html ?
|
Я не видит!
Красивое решение... а скрипт тработает нажатие 2 кнопок одновременно? |
to Dmitry(C):
красивое решение, знаю о нём, но реализуется только при одновременном наличии компа и штатного audio в машине, а у меня последнее удалено. |
Вложений: 4
Да, в скрипте, в трочках запуска медийных функций пишется условие из двух нажатых кнопок жостика-lpt. Перекладываю картинки.
|
to Dimon:
Здорово придумано! картинки ажно завораживают своей футуристичностью. Обнаружилась одна проблема... после разбора кнопочного блока, выявлено, что в отличии от кнопок, замыкающих цепи только при нажатии, колёсико всегда находится в состоянии замыкания одной из трёх пары контактов, и получается, что функции реализовывались (когда стояла магнитола) при переходе с одной цепи не другую, оставляя их всегда замкнутыми! А ведь для LPT-порта наверно не должно быть состояние с постоянно замкнутыми контактами? |
У тебя колесико - энкодер!
там два контакта замыкаются со смещением на 90 град... т.е. 10-00-01-11-10 - вперед 10-11-01-00-10 - назад это дело подключается и через LPT - мы с Wanted-ом пытались это реализовать и даже скрипт рабочий был написан, но скорости опроса lpt не хватает и потому полно ложных срабатываний! В конце концов пришли к выводу, что распотрошить клаву с энкодером громкости проще. Если есть желание почитай тему про энкодеры - там были схемы подключения - это на случай, если энкодер треба не на громкость вешать. |
А скрипт был циклический с опросом? кмк если отрабатывать событие joybutton то получится лучше чем в цикле смотреть getjoybuttonstate.
А насчет недостаточно скорости lpt-порта довольно сложно убедить человека, паявшего covox во времена когда soundblasterов еще не было. http://en.wikipedia.org/wiki/Covox_Speech_Thing - прослезился :blush: . ps. А lpt порту как и жостику без разницы, вечно-замкнутые ножки или вечно-разомкнутые. Это вам не клавный контролер, который при залипшей кнопке генерит тучу букв. pps. Еще есть подозрение что это не энкодер, или энкодер трехпроводной. |
ну не знаю! Дим где ты был, когда мы с Пашей мучались?
Реально быстро прокрученный энкодер давал дерганье ползунка громкости вверх-вниз, а иногда и в обратном направлении. Вот наша тема: http://www.pccar.ru/showthread.php?t=1685 |
Если ты о скрипте, которые лежит тут:
http://www.pccar.ru/showpost.php?p=17314&postcount=25 то да, там именно цикл, именно с опросом. кмк работать должен с ошибками. Где я был? Незнаю где я был. да и энкодеров у меня нету нигде, но принцип у них зачотный адназначна. 2doctor. Значит в таблице три колесика, там наверное два провода от вращения энкодера, а третий - нажатие на колесико? |
Вложений: 1
2 контакта попарно замыкающие при вращении площадки: 1-2, 1-3, 1-4, 1-5, 1-6 или 1-7. При этом звонятся тестером (соеденены дорожками) контакты 2-5, 3-6 и 4-7. А нажатие на колёсико реализовано отдельной кнопкой.
|
Это что, еще один шмоток проводов на колесико? 7 проводов? Или както с первыми шестью пересекаюцца?
|
Нет, только 6 проводов, в соответствии с таблицей.
На самом разъёме 18 контактов, но остальные, по технической ноте, отвечают за дворники и т.д. На плате - контактные площадки, дорожки и из электронных элементов только цепочка из приблизительно 8 кажется диодов (наверно это диодная матрица). Может она всё и организует? |
ниче не понятно!
Классический энкодер - 3 провода: земля и 2 контактных. = 2 переключателя, которые комбинацией нолей(выкл) и единиц(вкл) - указывают направление вращения, обычно 1 щелчек - это 2 переключения, что достаточно для определения направления вращения, хотя бывают и безщелчковые, и как у меня - 1 щелчек-1 переключение, мне для сдвига вперед или назад надо сделать 2 щелчка. Ищи 3 провода с энкодера или распиши, где на твоей матрице выходят комбинация на "щелчки" энкодера? - проверяется подключил пару контактов подозреваемую и крути колесо - если последовательно идут 0-0-1-1 значит это оно! А я проверял энкодер подключив светодиоды через него и он наглядно показывает нули и единицы парой диодов.:) Если кнопочки энкодера найдутся, о делаешь Димонову схему, а в контактах, которые энкодерные используешь Пашин скрипт, или модифицируй его по совету Димона. |
нету ту никаких энкодеров, забудте. Даже принцип действия другой. проще и надежнее.
Если попарно закорочены, значит три получается. Итого имеем 6 в первой матрице и три с калесика. В лпт можно использовать 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 и 13. зы. или три с калесика 7-6-5 это и есть та самая крутилка? которая работает при прохождении тока через 4??? Короче скрипт колесичный надо писать, и не луповский ибо от времени независит. |
как мне кажется в нижнем ряду матрицы 1 кнопка - нажатие, а две остальные от энкодера - проверь плиз!
|
нет, нажатие колёсика это то что в таблице - подтверждение - отдельная кнопка прижимаемая ободом.
2Dimon и колёсико и кнопки - на выходе только 6 контактов |
таблица из тех. ноты странновата - реальных функций 8, а ячеек в таблице со значениями - 9
видимо, всё же решающее значение имеет диодная матрица, о которой писал выше |
Ничего странного, все просто и логично (начинает нравиться рено). Просто на две функции "колесико тудымс" и "колесико сюдымс" задействовано три провода, остальные поодному.
Конструкция скрипта не требует циклических опросов. ПРосто старый скрипт был заточен под работу с резистивными подрулевыми и осевыми жостиками с потенциометрами, где не было событий, надо было лазить и смотреть значение по оси Х. Здесь ситуация другая, на любое нажатие есть событие вида "joybutton2" т.е. нажатие кнопки-замыкание контактов. Тут какраз уместно использовать именно lpt порт, у которого толком нет осей, зато куча кнопок. Весь скрипт пишется методом подставленя к кнопкам виртуального жостика например кнопок виртуальной клавиатуры (может даже медийных). Нужно определиться с фронтендом-списком команд т.к. под 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-порта, принципов действия енкодеров и жизни на марсе. :) Похоже рено специально так соединили контакты в руле чтобы такой простой скрипт получился, ведь у них в бубнитоле тоже проц был нерезиновый, надо было чтонить попроще замутить. |
значит коммутация делается на шести выводах через три оптрона в соответствии со схемами и на LPT, а скрипт пишется по вышеизложенному принципу?
|
поидее да. Я не вижу причин чтобы это все незаработало или как можно сделать проще. Надо еще проверить в какую сторону диоды стоят, может придется при распайке матрицы поменять столбцы с рядами. Написание скрипта в ahk вполне посилам непрограммеру т.к. там куча примеров. Да, на аглицком хелп и примеры круче намного.
|
Спасибо!!!
Буду ваять. |
Дима, подскажите, пожалуйста, как правильно пишется строка кода в скрипте для плавного непрерывного увеличения громкости при удержании нажатой кнопки подрулевого управления.
|
Код:
joy1:: Вообще баян, отсюда: http://forum.pccar.ru/showpost.php?p=2784&postcount=27 Вот еще нашел: Цитата:
|
...if j2=U...
U значит нажата кнопка? а как ...if a_index != 2... это расшифровывается? |
Цитата:
|
конечно же нет!
этим и занимаюсь в свободное от работы и сна время. Просто быстрее хотелось разобраться в уже написанном скрипте с помощью самого автора. |
Вложений: 1
Я уже плоховато помню детали. Там примеры познавательные, они читаются и компонуются. Мутновато написано, но разобраться можно. аиндекс может рудимент из чьегото чужого скрипта. Надо макетик делать из двух кнопок и смотреть как работает. Коробочки от тик-так рулят :)
Комутация: у кнопочек общий провод идет в 18пин лпт, а два оставшихся у двух кнопочек на 2 и 3. |
Спасибо!
Я не плохо владею паяльником, но по электронике знания сугубо начальные. Но ничего - одолею вопрос. |
Цитата:
|
Не, у меня спец-девайс для отладки скриптов. Комп при этом не всегда под рукой, а иногда и далеко запихнут, поэтому провод. Коробочка с кнопками потому, что я ее еще и давал попользоваться тут любителям ahkшных скриптов на время написания. Они когда заканчивают инсталяцию чистовых кнопок - мне назад коробочку отдают и уже не так над ней смеюццо.
:smile1: |
Дима, а эти смещения строк в скриптах только для удобства восприятия функциональных блоков? Можно каждую строку и с начала абзаца писать?
|
На полном серьезе, врезультате должен получиться такой скрипт, где без таких отступов самому неразобраться. Явот непрограммер ниразу, наелся быстро, даже первый скрипт недописав еще. Рекомендую, тем более что потом может еще комуто разбираться придется.
|
Дима, здравствуйте. Если возможно, помогите. Третий день не получается правильно реализовать в скрипте вроди бы простую конструкцию: если запущен процесс winamp.exe, то убить его при запуске GoTView.exe, и наоборот, если запущен тюнер, то выгрузить его при запуске winamp. Почему то работает только одно условие.
|
Часовой пояс GMT +4, время: 16:23. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot