???
Математика на уровне МГУ

Страница 19 из 24 ПерваяПервая ... 9151617181920212223 ... КрайняяКрайняя
Показано с 451 по 475 из 577

Тема: HeadJoy free

  1. #451
    Зашедший
    Регистрация
    29.08.2005
    Адрес
    Australia
    Возраст
    52
    Сообщений
    109

    Re: HeadJoy free

    Цитата Сообщение от BorzoMetr Посмотреть сообщение
    Где копать? Всё работает, на движения излучателем реагирует(резковато конечно, мягко говоря)
    Если всё работает, то чего же ты хочешь?
    Какой-то столбец "IN" у тебя откуда-то взялся...
    В виндузе в игровых устройствах видишь HJF? крестик у тебя отклоняется когда головой вертишь (надо вертеть головой, чтобы понять это резко или нет отклоняется)?
    Излучатель по рекомендованным типоразмерам собрал?

  2. #452
    Курсант
    Регистрация
    14.12.2006
    Адрес
    ТАССР
    Возраст
    43
    Сообщений
    130

    Re: HeadJoy free

    Этот столбец IN в программе headjoy , по нему настаивают чувствительность , он должен находиться между 1/4 и 3/4 .
    “... Я устремляюсь в высоту,
    в безмерность,
    в бесконечность.
    К бессмертной, вечной красоте,
    в сияющую вечность! Г.Тукай.

  3. #453
    человеческий фактор Аватар для ender
    Регистрация
    09.01.2005
    Адрес
    красноярск
    Возраст
    44
    Сообщений
    480

    Re: HeadJoy free

    дык, этого нету во free версии.
    Абырвалг, абырвалг, абырвалг!

  4. #454
    Курсант
    Регистрация
    14.12.2006
    Адрес
    ТАССР
    Возраст
    43
    Сообщений
    130

    Re: HeadJoy free

    Зачем тады подстроечник впаивать? Можно же постоянным обойтись! на сколько постоянный ставить?
    “... Я устремляюсь в высоту,
    в безмерность,
    в бесконечность.
    К бессмертной, вечной красоте,
    в сияющую вечность! Г.Тукай.

  5. #455
    ED Team Аватар для USSR_Rik
    Регистрация
    16.08.2003
    Адрес
    Belarus, Minsk
    Сообщений
    2,450

    Re: HeadJoy free

    Эт только индЮкации нет во фри-версии, а настройка усиления железки таки нужна! Разные фото- и светодиоды, разные рабочие токи, разные расстояния, фильтр есть/нет.
    ...чего уж тигру лишняя полосочка... (© - не помню)

  6. #456
    Курсант
    Регистрация
    14.12.2006
    Адрес
    ТАССР
    Возраст
    43
    Сообщений
    130

    Re: HeadJoy free

    Пасиб, вроде разобрался с подстроечником. Какой именно фильтр имеешь ввиду?
    Имеется интересный глюк: ик диоды светят с разной яркостью , нижний и правый ярче чем верхний и левый (смотреть не со стороны шторки). Сей факт влияет на плавность и залипание(При взгляде влево обзор резкий ,залипает при отрыве взгляда на шесть, вправо всё отлично). Может нужно попробовать где-нить в цепь резюк впоять подстроечный и сравнять яркость?
    “... Я устремляюсь в высоту,
    в безмерность,
    в бесконечность.
    К бессмертной, вечной красоте,
    в сияющую вечность! Г.Тукай.

  7. #457
    Курсант
    Регистрация
    14.12.2006
    Адрес
    ТАССР
    Возраст
    43
    Сообщений
    130

    Re: HeadJoy free

    Чот тема совсем заглохла, сделаю небесполезный для меня up .
    Как и чем можно убрать дрожание при диагональном обзоре , если ровно по осям то всё нормально , но стоит откланиться от оси , то начинаются скачки курсора???
    Перечитал ветку, похоже на кромке диодов нестабильность, попробую плёнкой перетянуть!
    Крайний раз редактировалось BorzoMetr; 10.12.2007 в 17:06.
    “... Я устремляюсь в высоту,
    в безмерность,
    в бесконечность.
    К бессмертной, вечной красоте,
    в сияющую вечность! Г.Тукай.

  8. #458
    Зашедший
    Регистрация
    17.08.2007
    Возраст
    49
    Сообщений
    18

    Re: HeadJoy free

    BorzoMetr писал:Как и чем можно убрать дрожание при диагональном обзоре , если ровно по осям то всё нормально , но стоит откланиться от оси , то начинаются скачки курсора???


    - попробуй уменьшить размер шторки. у меня что-то похожее было. уменьшил шторку - помогло
    Крайний раз редактировалось _mishgun_; 11.12.2007 в 10:32.

  9. #459
    Курсант
    Регистрация
    14.12.2006
    Адрес
    ТАССР
    Возраст
    43
    Сообщений
    130

    Re: HeadJoy free

    Пасиб , попробую на досуге.
    “... Я устремляюсь в высоту,
    в безмерность,
    в бесконечность.
    К бессмертной, вечной красоте,
    в сияющую вечность! Г.Тукай.

  10. #460

    Re: HeadJoy free

    На демо видео видно что на боковых видах устройство ведет себя как хатка. Нет плавности обзора . Тоесть нелзя медленно пройтись по панорамке и внимательно осмотреть боковые виды. Такое ощущение что плавность обзора приходится на +- 25-30 градусов от середины. При вращении головы всторону картинка резко раз - и сразу на боковом виде. Что делается на 2/3 поворота головы - уже не рассмотриш и не прицелишся. Это какнибудь лечится ? Я так понимаю проблема в 10-ти битах АЦП ? Если автору разработки интересно - могу поделится как простейшим образом не выходя из цифры получить в компе данные , да таким способом с которым можно работать по-человечески . В этом случае разрядность каждой оси мождно увеличить до 16 бит , а время опроса до 3 мс. И отказаться от АЦП впринципе.

  11. #461
    человеческий фактор Аватар для ender
    Регистрация
    09.01.2005
    Адрес
    красноярск
    Возраст
    44
    Сообщений
    480

    Re: HeadJoy free

    поделись.
    Абырвалг, абырвалг, абырвалг!

  12. #462

    Re: HeadJoy free

    делюсь..
    Есть такая замечательная микросхема FT232R Это аппаратный преобразователь USB-->RS232 . В микроконтроллере который стоит в хеад джое есть аппапатный RS232. Особенности этой микрухи в том что его RS232 можно настроить на максимальную для контроллера скорость RS232 . У меня парекрасно работает связь железа с компорм на скорости 1.2 мбита по протоколу RS232 через эту микруху. Никакой заморочки с USB . Работаем в чистом виде с КОМ портом. Далее можно быстренько состряпать простейший протокол где пары байт - это 16 битные коорднаты осей X Y Z . Получаем пакет из 6 байт. Передавать этот пакет можно со скоростью 100 герц. У меня по крайней мере 100 герц. Дальше простейшая утилита принимает пакет и эмулирует джойстик. Вот тут некоторая труднеость в плане эмуляции. Принять пакет и разбросать по 3-м переменных - это 3 стрточки кода на дельфи. Дальшьше нужно сэмулировать джойстик. Помоэет в этом по мойму так называемый драйвер виртуальнго PPjoy. У него есть особенность - у него хорошо описан API интерфейс и можно из собственных программ назначать координаты по всем осям в диапазоне 0....5000 точек Что вполне достаточно для плавного обзора и по показателям на порядок лучше трекира. Я насколько понимаю Хеадджой аппаратно выполнен иначе чем трекир и вполне вероятнео что после перевода его в цифру он обгонит трекир намного..

  13. #463
    человеческий фактор Аватар для ender
    Регистрация
    09.01.2005
    Адрес
    красноярск
    Возраст
    44
    Сообщений
    480

    Re: HeadJoy free

    взорвал.
    Абырвалг, абырвалг, абырвалг!

  14. #464
    Курсант
    Регистрация
    14.12.2006
    Адрес
    ТАССР
    Возраст
    43
    Сообщений
    130

    Re: HeadJoy free

    Попробовал натянуть на ик диода кусочки пакетов , в результате обзор только ухудшиля (стал резким). Я так понял пакет должен быть темного цвета , такие ка мусорные мешки?
    Может надобна у сточенных диодов края закруглить, чтоб резкого перехода на кромке небыло? Уже две недели с плавностью воюю , шторку до 15 мм , уменьшил всё безрезультатно. Слышал еще прокальку говорили, где её взять можно или из чего выдрать, где она юзается? Хелп!
    “... Я устремляюсь в высоту,
    в безмерность,
    в бесконечность.
    К бессмертной, вечной красоте,
    в сияющую вечность! Г.Тукай.

  15. #465
    Опытный камикадзе Аватар для Karlson
    Регистрация
    23.11.2004
    Адрес
    Киев...
    Возраст
    47
    Сообщений
    269

    Re: HeadJoy free

    Цитата Сообщение от Ezdok Посмотреть сообщение
    делюсь..
    Есть такая замечательная микросхема....обгонит трекир намного..
    Ой как красиво написал..ток вот я ничего не понял..Как это сделать? Чего куда паять?


    2BorzoMetr
    У мя такое было когда закрывил излучатель половинкой пластикового яйца от "Киндер сурпрыза" ,при отклонении взгляда по диагонали усиливалась дрожь..


    Вот такой излучатель у меня получился...
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	1.jpg 
Просмотров:	268 
Размер:	127.0 Кб 
ID:	78916   Нажмите на изображение для увеличения. 

Название:	2.jpg 
Просмотров:	220 
Размер:	46.4 Кб 
ID:	78917   Нажмите на изображение для увеличения. 

Название:	3.jpg 
Просмотров:	198 
Размер:	46.5 Кб 
ID:	78918   Нажмите на изображение для увеличения. 

Название:	4.jpg 
Просмотров:	217 
Размер:	45.7 Кб 
ID:	78919   Нажмите на изображение для увеличения. 

Название:	5.jpg 
Просмотров:	327 
Размер:	75.6 Кб 
ID:	78920  

    Крайний раз редактировалось Karlson; 12.12.2007 в 15:36.

  16. #466
    человеческий фактор Аватар для ender
    Регистрация
    09.01.2005
    Адрес
    красноярск
    Возраст
    44
    Сообщений
    480

    Re: HeadJoy free

    Цитата Сообщение от Ezdok Посмотреть сообщение
    И отказаться от АЦП впринципе.
    вот это как?
    Абырвалг, абырвалг, абырвалг!

  17. #467
    ED Team Аватар для USSR_Rik
    Регистрация
    16.08.2003
    Адрес
    Belarus, Minsk
    Сообщений
    2,450

    Re: HeadJoy free

    Цитата Сообщение от Ezdok Посмотреть сообщение
    Далее можно быстренько состряпать простейший протокол где пары байт - это 16 битные коорднаты осей X Y Z . Получаем пакет из 6 байт. Передавать этот пакет можно со скоростью 100 герц. У меня по крайней мере 100 герц.
    Так а смысл? Все равно АЦП в меге 10-разрядные. А в полной версии (которая не фри ) частота опроса 125 Гц и насколько я понял, есть фильтрация. Ну так и 125 герц позволяют сделать фильтр.

    Мелкосхемы FTDI интересные, конечно, и много любителей их используют (я посматриваю периодически "радиосканнер" и еще пару форумов). Но я все-таки предпочел бы в USB-версии реализацию 125 Гц опроса плюс фильтр.
    ...чего уж тигру лишняя полосочка... (© - не помню)

  18. #468

    Re: HeadJoy free

    А ! ПАрдон ! Я не совсем разобрал как раьботает девайз. Поясните - насколько я понял , там считывание датчиков прпоисходит в аналоговом виде ? Там ИК диод и разностная схема. В этом случае FTDI не поможет. Но насколько я еще понял что сам контроллер выдает аналоговый сигнал для цепи джойстика который потом превращается в оси джоя ? Правильно ? Вот эту цепочку можно было бы исключить чипом FTDI.

    Мелкосхемы FTDI интересные, конечно, и много любителей их используют потому что драйвер-эмулятор стандартного COM порта (VCP драйвер) написан для всех операционок , написан грамотно и самое важное преимущество - простота работы с контроллерами которые имеют апратаный COM порт на своем борту. Причем скорость передачи можно выставить до 7 мбит и работать с простыми байтами и вообще забыть про инициализацию USB , дескрипторы , вендоры и прочие "приветствия".. Особо чип понравится тем кто работает с VCL компонентами. Нарыл компоненти COM порта и любой такой компонент прекрасно работает с FTDI чипом. Ну а так , конечно , если более спортивно - то нужно писать собственный драйвер и ловить баги потом пол года...Тут сел - и без особого вникания в устройство USB начал работать со своими алгоритмами. Всё на аппаратном уровне.
    ==
    Но я все-таки предпочел бы в USB-версии реализацию 125 Гц опроса плюс фильтр
    ==
    Я тестировал 300 герц - 300 герц еще работает. Выше уже нет. Тоесть это частота передачи пакетов по 200 байт на скорости 1.25 мбит.
    С филотьтром я намучался с точпэдом. Там 50 герц и никак не избавишся. Но выход был найден - "фильтр скользящего среднего" + небольшая интерполяция к внутреннему таймеру 200 герц + обратная связь , когда сравнивается выходной сглаженный сигнал с входным и реакция происходит только тогда когда превышает разность некоторое значение. В результате 50 герц были подавлены полностью.

  19. #469
    ED Team Аватар для USSR_Rik
    Регистрация
    16.08.2003
    Адрес
    Belarus, Minsk
    Сообщений
    2,450

    Re: HeadJoy free

    Цитата Сообщение от Ezdok Посмотреть сообщение
    А ! ПАрдон ! Я не совсем разобрал как раьботает девайз. Поясните - насколько я понял , там считывание датчиков прпоисходит в аналоговом виде ? Там ИК диод и разностная схема. В этом случае FTDI не поможет. Но насколько я еще понял что сам контроллер выдает аналоговый сигнал для цепи джойстика который потом превращается в оси джоя ? Правильно ? Вот эту цепочку можно было бы исключить чипом FTDI.
    Насколько я понимаю, там мега последовательно оцифровывает 4 пакета импульсов после пикового детектора от одного фотодиода, засвеченного одним из 4-х светодиодов, а потом вычисляет разность двух пар (вверх-вниз, влево-вправо). И эмулирует двухосевой (для полной версии - трехосевой плюс ось руля направления) девайс. А ЦАПа там нет никакого.
    Там 50 герц и никак не избавишся. Но выход был найден - "фильтр скользящего среднего" + небольшая интерполяция к внутреннему таймеру 200 герц + обратная связь , когда сравнивается выходной сглаженный сигнал с входным и реакция происходит только тогда когда превышает разность некоторое значение. В результате 50 герц были подавлены полностью.
    Вот тут можно про алгоритм, если не секретно (мне для общего развития)? Помню, давным-давно в эпоху БК-0010 мы на кафедре делали фильтр со скользящим окном, с отбросом максимума-минимума, усреднением и что-то вроде даже сравнивали с предыдущим фильтрованным значением. Я в него загонял синусоиду и ступеньку, на которые накладывал шум - вроде неплохо получалось, но алгоритм начисто забыл. И листинги потерял . И дисквалифицировался давно
    ...чего уж тигру лишняя полосочка... (© - не помню)

  20. #470
    Курсант
    Регистрация
    14.12.2006
    Адрес
    ТАССР
    Возраст
    43
    Сообщений
    130

    Re: HeadJoy free

    Цитата Сообщение от Karlson Посмотреть сообщение
    Ой как красиво написал..ток вот я ничего не понял..Как это сделать? Чего куда паять?


    2BorzoMetr
    У мя такое было когда закрывил излучатель половинкой пластикового яйца от "Киндер сурпрыза" ,при отклонении взгляда по диагонали усиливалась дрожь..


    Вот такой излучатель у меня получился...
    ??? Это у тя было до того как закрыл яйцом или после???
    “... Я устремляюсь в высоту,
    в безмерность,
    в бесконечность.
    К бессмертной, вечной красоте,
    в сияющую вечность! Г.Тукай.

  21. #471

    Re: HeadJoy free

    Алгоритм простой:
    Сначала нужно организовать простейший так называемый кольцевой буффер с постоянным периодом приращения (попрерыванию контроллера или по таймеру в винде если будем реализовываь в компе) куда каждый тик таймера будет попадать результат преобразования. Причем тут мы можем преобразовывать данные с частотой заведомо ниже частоты таймера. Если скажем АЦП работает с частотой 10 герц , а фильтр 200 герц - то при изменении данных на его входе , на выходе получим интерполированные данные с частотой 200 герц.

    На паскале алгоритм выглядет примерно так:
    var
    filter_massive: array[0..100] integer; // организовываем массив на 100 ячеек
    count:byte; // счетчик приращений буффера
    summa:integer; // сумма полученная в результате сложения всего кольцевого буффера



    procedure timer1 // вызов процедуры таймера
    begin // начали
    count:=count+1; // увеличили счетчик на 1
    filter_massive[count]:=INPUT_DATA; // положили в массив в следующую от предыдущей ячейку входную величину INPUT_DATA

    if count >=10 then count:=0; // если насчитали адрес буффера больше 10 - то адрес буффера начинается с 0. От сюда и понятие "кольцевой буффер"

    // затем нужно быстренько сложить между собой все 10 ячеек буффера
    for temp:=0 to 10 do begin
    summa:=summa+filter_massive[temp];
    end;

    // далее всю сумму делим на 10 и получаем усредненный вариант преобразования
    resultat:=summa / 10 ;
    summa:=0; // обнуляем сумму для вычислений следующего обращения таймера к процедуре.

    Суть метода такого фильтра - обращение к этой процедуре нужно производить с постоянным инетрвалом примерно 100 герц. Каждое обращение мы заносим INPUT_DATA в новую ячейку буффера . Ячеек у нас 10. Но можно и больше. Дальше мы суммируем только что зашедшие данные в буффер с 9-ю предыдущими. И делим результат на 10 в результате чего получаем более менее фильтьрованные даные.
    Но на этом эпопея не заканчивается. Частота 50 герц все равно проходит но в меньшей степени. Задача полностью от нее избавится.

    Есть простейшее решение. Мы знаем что входная величина преобразования "гуляет" с частотой 50 герц на некотурую величину ( уменя 5-7 отсчетов ) относительно отфильтрованных данных после фильтра. В следствии чего перед фильтом делаем условие-

    IF (INPUT_DATA>resultat+7) or (INPUT_DATA<RESULTAT-7) then begin
    .....
    далее выполняется фильтр..

    Вот тут и есть обратная связь - когда фильтр начинает работать в том лиш случае , когда относительно фильтрованных данных , входная величина изменилась более чем на 7 единиц в ту и другую сторону. (мы знаем что переменка гуляет на несколько единиц отсчета АЦП и воспринимается как шум и дрожание осей). Так как условие стоит ПЕРЕД фильтром , то если дрожание оси будет в педелах +- 6 отсчетов - то фильтр будет стоять на месте как вкопанный. И на экране мы видим мертво стоящую на месте ось. Как только подвинули ось влево на 1 отсчет влево или вправо , условие нарушиьтся и фильтр заново просчитает среднюю ведичину , и опять встанет как вкопанныйю Одним словом , этот алгоритм реагирует на медленые изменения данных а переменки всякие отражает на все 100&#37;..
    Крайний раз редактировалось Ezdok; 13.12.2007 в 13:55.

  22. #472
    Опытный камикадзе Аватар для Karlson
    Регистрация
    23.11.2004
    Адрес
    Киев...
    Возраст
    47
    Сообщений
    269

    Re: HeadJoy free

    Цитата Сообщение от BorzoMetr Посмотреть сообщение
    ??? Это у тя было до того как закрыл яйцом или после???
    после...без "яйца" слишком резкий обзор,шаманил с резюками,шторкой...надоело..забросил..

  23. #473
    человеческий фактор Аватар для ender
    Регистрация
    09.01.2005
    Адрес
    красноярск
    Возраст
    44
    Сообщений
    480

    Re: HeadJoy free

    Ezdok, почитай http://headmous.narod.ru/
    Абырвалг, абырвалг, абырвалг!

  24. #474

    Re: HeadJoy free

    ПОчитал..

    Программа для HeadMouse4 состоит из двух частей.

    Первая часть записана непосредственно в CPU AT89C2051. Она производит управление железом, измерение сигналов со всех четырех каналов, калибровочное измерение и передачу полученных данных через COM порт.

    Вторая часть запускается на компъютере. Она производит прием и индикацию входных данных, и вычисление и индикацию выходных координат X и Y.
    ==
    Вот тут бы поставить фильртр скользящего среднего как я описал и уверен что дрожание осей при боковых взглядах намного уменьшится вплоть до полного исчезновения. Хотя на форуме описывают другой непреодолимый баг с дрожанием , видимо связанный с идеологией устройства.

  25. #475

    Re: HeadJoy free

    Первая часть записана непосредственно в CPU AT89C2051. Она производит управление железом, измерение сигналов со всех четырех каналов, калибровочное измерение и передачу полученных данных через COM порт..
    ===
    А вот тут можно подробней ? Меня интересует протокол с помощью которого обменивается контроллер хедмауза с NewView через COM порт.
    Вполне много вероятно что я смогу приделать свой точпэд туда и юзать его уже с NewView . Где можно почитать про протокол , скорости олмена и прочее ?

Страница 19 из 24 ПерваяПервая ... 9151617181920212223 ... КрайняяКрайняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •