PDA

Просмотр полной версии : Кнопки на руле, способ решения


Skyfire2
07.08.2008, 23:36
Всем привет!!!
Возвращаюсь к наболевшей проблеме - клавиши на руле работающие по "резисторному протоколу". На форуме присутствуют несколько способов решения данной проблемы, один заключается в подключение пульта через игровой порт, а второй в разборке игрового джостика и подключение его к пульту управления. Лично мне второй способ больше нравится, так как на моем PC Car нет игрового порта, а покупать звуковую карту не хочется. Однако при реализации способа 2 у меня, как, наверное, и у многих, возникла проблема. Чтобы АЦП джостик понимал команды нужно перепаять сопротивление в пульте с шагом 1Ком. Мне руль разбирать не хотелось из-за подушки безопасности. Поэтому пришлось пойти другим путем/
Так вот, на сайте схем.нет нарвался на интересную статью (автор =ShooRooP= и ему за это ОГРОМНОЕ спасибо), работа АЦП с com портом http://cxem.net/****/comp86.php. Это и являлось практически полным решением проблемы. Со свое стороны я только допаял управляющий транзистор и подредактировал код программы автора.

Программу прошу не ругать, так как Visual Basic я не знал, не знаю и знать больше не хочу. Просто пришлось выучить пару команд и написать этот код. Так, что смог, то и написал :)
Смысл программы. При нажатии клавиши пульта в верхнем окне выводится напряжение поступающие на вход АЦП , показатель умножается на 100. Этот показатель можно записать под нужным пунктом. Теперь при следующие нажатии на определенную кнопку пульта , программа будет знать, что нужно делать под этим значением и с имитирует нажатие клавиши клавиатуры (см. код программы). Мне повезло, я пользуюсь RR, там можно настроить любое действие оболочки на любую клавишу клавиатуры. И при имитации программой нужной мне клавиши клавиатуры RR работает нужным образом.
Так же, можно настроить ФрдоПлеер, AutoHotKey ит.д. А лучше всего, чтобы кто-нибудь знающий перепишет код в лучшую сторону и выложит на сайт :))
В принципе и все!
Саму программу нужно скопировать в корневой диск C:\MultiCar

mcf1
08.08.2008, 00:39
судя по схеме для работы нужен физический ком порт, эмулятор в USB не подойдет

archer
08.08.2008, 00:42
Карашо! Очень карашо! А паял навесу, на макетке или платку разводил? если платку, то надо бы и разводочку сюды бросить... :)

Насчет эмулятора УСБ - наверно можно его подрубить, но схему питать придется по-другому... вместо кренки просто 5в подать.... Щас гуру-электронщики поправят...

mcf1
08.08.2008, 00:48
в эмуляторах обычно от полноценноо ком порта остается только TX RX и GND

PS автору большой респект, ТАКИМ ВОТ ДОЛЖЕН БЫТЬ ПЕРВЫЙ ПОСТ!!!

Skyfire2
08.08.2008, 09:39
Схему паял на макете. Схема сама по себе не большая, вот и решил не заморачиваться.
Как это не странно, но эмулятор ком порта заработал :) !!! (не вручаюсь за все, собираюсь сделать вскрытие и посмотреть его внутри). Только пришлось в диспетчере устройств принудительно 1 номер порта присвоить. А так система пока рулит без пробллем

Мастер
08.08.2008, 17:50
Мне кажется, если уж заморачиваться на АЦП и COMпорт, то лучше на микроконтроллере делать.

Skyfire2
13.08.2008, 21:30
Обновление программы. Теперь громкость регулируется не посредством имитации нажатия клавиши, а на прямую через Windows-кий эквалайзер. Со временем планируется реализовать свертование программы в трей

Skyfire2
16.08.2008, 19:10
Прога доделана

Skyfire2
16.08.2008, 22:36
В проге V1.2 обнаружились небольшие баги, при отключенном АЦП, срабатывал эмулятор клавиш. Исправляюсь:

Skyfire2
05.10.2008, 22:57
В ходе испытание данного девайся и софта к нему обнаружились небольшие глюки, при длительной работе совершенно непонятным образом иногда менялись вольтовые значения каждой кнопки, также не всегда оболочка Road Runner реагировала на иммитурующие MultiCar-ом клавиши.
Однако, несколько бессоных ночей и проблемы вроде решились. Тьфу-тьфу-тьфу...
Вообшем, изменения в схеме следующие:
1) на входе АЦП нужно добавить "фильтрующий" конденсатор С3;
2) R* нужно подбирать эксперементально если у вашего пульта рулевого колеса достаточно высокие сопротивления (ну больше 1Ком, хотя я еще такого не видел). Если у вас в пределах 1 Ком, то можно вообще ничего не ставить, и так работает (немного коряво, но ничего :) ... работает);
3) Если наводки так и не пропадают, то это проблема у меня решилась простым LC-фильтром на входе;
4) И смотрите точно произведите настройку схемы, на входе 1 микросхемы DD1 должно быть напряжение примерно 2,5 Вольт;
5) если вы подключаете АЦП напрямую к com порту, то питание лучше взять с выводу ТХ (3), это вас избавит от лишних проводов и поиска источника питания.
6) если вы используете переходник адаптер USB-СOM, то естественно придется искать питание, а адаптер покупайте не самый дешовый.

что касается программы,то она тоже претерпела изменения. Теперь иммитируются клавиши F5, F6, F7, F8, F9, F10

Winlin
14.01.2010, 15:19
Подскажите пожалуйста, кто нибудь питал данную схему от СОМ порта?
а то написано питать от СОМ-а , а на 3 ноге напряжение то отрицательное

-TxD - данные, передаваемые компьютером в последовательном коде (логика отрицательная).

http://signal-tv.od.ua/pin/rs232-ru.html

ну и у меня также.

(vS)
14.01.2010, 16:21
IMHO великовата нагрузка, да и 3 нога как-то...

Winlin
14.01.2010, 16:23
Вопрос снят, при запуске программы на 3 ноге появляется положительное напряжение.
Нов программе нет данных. Нужен ли еще какой нибудь софт? Просто у меня сразу призапуске программы вывалилась ошибка об отсутствии mscomm32.ocx. Скачал установил. Теперь ошибку не выдает, но и показания никакие не дает.
Победил. Резистор по 6 ноге микросхемы уменьшил до 2.2к (а то на входе com порта меньше 2в воль была амплитуда)