Проект W-Mouse дорос до использования топового сенсора PMW3360. W-Mouse — это мышь разработанная человеком с ником Walkie, включая схему и программное обеспечение.

Раньше использовались сенсоры фирмы avago — adns-30x0, adns-60x0, adns-9x00 совместно с контролером atmega32u4.

Новый вариант использует топовый сенсор 3360 и контролер atXmega128a4u и получил название WX-Mouse.

Основные достоинства W-Mouse

  • Точность работы сенсора, обеспечивается, в том числе установкой сенсора на высоту наилучшей фокусировки, это возможно т.к. W-Mouse умеет показывать графическую картинку считываемую непосредственно с сенсора т.е. видим поверхность коврика «глазами» сенсора.
  • Настройка оптимальной работы сенсора на конкретной поверхности.
  • Настройка динамики движения. Например можно настроить так, чтобы на низких скоростях смещение было более «подробное», а при увеличении скорости мыши, смещение ускорялось.

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

Или например можно настроить, чтобы прицел был более отзывчивым в начале движения, это полезно для отслеживания двигающейся «туда-сюда» цели (трекинг цели).

  • Возможность использования настраиваемой фильтрации — удобно чертить прямые линии в CAD программах.

WX-Mouse можно собрать практически в любом корпусе.

Так выглядит окно программы настройки WX-Mouse.



Все это делает W-Mouse уникальной мышью.

Проект обсуждается на форуме Overclockers-ру в теме «Лазерный оптический сенсор».

Как пример, мышью можно писать как ручкой.

(нарисовано в паинте при масштабе 100%, на экране высота буковки составляла примерно 4-5мм)


План действий по переделке Mamba TE в WX-Mouse:

1. Прозвонить схему «круговой» подсветки и определить, что нужно изменить, чтобы задействовать rgb-светодиоды с двух сторон.
2. Объединить с «круговой» подсветкой, светодиоды колеса и логотипа на спине.
3. Выполнить согласование «баланса белого» и яркости трех частей подсветки (чтобы свечение было одинаковым)
4. Обрезать основную плату мыши, оставив только кнопки и разъем USB.
5. Поставить разъем на основной плате для подключения платы wxmouse и сделать соединения от кнопок и колеса с этим разъемом.
6. Определение оптимальной высоты размещения сенсора.
7. Размещение платы WX-Mouse (контролер + сенсор) на дне с помощью стоек.
8. Mодернизация основного кабеля.
9. Устранение мелких косяков и окончательная сборка.

Далее фотографии с краткими пояснениями, если будут вопросы по конкретным деталям, с удовольствием, более подробно, отвечу в коментах.

Пункт 1. Подсветка


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

В Мамбе используется тонкая светящаяся полоска вдоль ребер корпуса мыши.
Для этого конструкторы поставили с каждой стороны по 7 независимых rgb-светодиодов.

Конструкторы Razer умудрились сделать независимое управление, каждым из 42 светодиодов, через разъем с 8 контактами.



Сделав прозвонку снял схему.

После анализа схемы, было определено, какие изменения надо внести, чтобы соединить аноды и rgb каналы.

Схема подсветки


Как видно выводы каждого цвета соединены параллельно. А вот управление т.е. аноды (фиолетовый цвет) хитрО раскидано, в том числе и на цветовые каналы.

Мне нужно было соединить параллельно светодиоды каждого из цветов, а также соединить все аноды и на выходе получить 4 линии — аноды плюс три цвета.

Да я знаю — соединять параллельно светодиоды, не очень хорошее решение, но в данном случае другого варианта нет — т.к. размещать около каждого из 42 светодиодов свой резистор это просто не реально.

Учитывая, что для индикации выбранного профиля, будут использоваться в основном чистые цвета т.е. синий, красный и зеленый, то неравномерность и отличия свечения отдельных светодиодов будут не сильно заметны. Этот момент уже проверен на предыдущих конструкциях.

На работу по модификации подсветки ушло примерно 4-5 часов ковыряния с мелкими светодиодами и скрытыми дорожками, но всё получилось.

Пункт 2. Объединение трех частей подсветки


Окончательное соединение rgb каналов с двух половинок «подковы», сделано уже на разъеме шлейфа, так же там размещены резисторы для каждого цвета. Разъем, с частью платы, был вырезан из основной платы мамбы. На этом обрезке, был размещен дополнительный разъемчик, для соединения с платой WX-Mouse, а также площадки для соединения с подсветкой колеса и лого на спине.



вот так эта платка крепится в верхней крышке мыши



Пункт 3. Согласования свечения трех частей подсветки


«Баланс белого» выполняется с помощью переменных резисторов, по одному на каждый канал.
Резистор идет на «землю», анод на +3.3В т.е. все три канала должны максимально светится, в идеале формируя белый цвет.

Переменные резисторы позволяют подогнать яркость каждого цвета, чтобы общее свечение было максимально близкое к белому.

После измерения, номиналов переменных резисторов, они заменяются, на постоянные резисторы.

Пункт 4. Обрезка основной платы


Во общем то тут ничего особенного — дремелем, алмазным диском — вжик и остался огрызок с кнопками и разъемом USB :)

Сначала планировал использовать разъем USB родной платы, для подсоединения кабеля USB, но так как USB, на основной плате, не нужно, а иcпользуется только на плате WX-Mouse, то этот разъем оказывается лишним. Поэтому из штырей разъема сделал фиксатор кабеля USB. В результате кабель USB, втыкается в разъем, на небольшом шлейфе, идущим от платы WX-Mouse.



Пункт 5. Разъем для кнопок и колеса


На огрызке, родной платы, был размещен небольшой разъемчик на 8 контактов, для кнопок и колеса.

Соединения от кнопок с разъемом сделаны с обратной стороны платы. Частично, были использованы, уже существующие соединения платы. Проводки зафиксировал силиконовым герметиком.



Пункт 6. Определение оптимальной высоты размещения сенсора


Сенсор PMW-3360 размещается, на небольшой плате, совместно с контролером atxmega128a4u





Подбор высоты, для наилучшей фокусировки, облегчается возможностью WX-Mouse выводить видео того как сенсор видит поверхность.

Пример.

В первой половине сенсор над обычной писчей бумагой, видно как меняется фокусировка при изменении высоты расположения сенсора. Во второй части тканевый коврик, типа «control» т.е. с грубым плетением.


Пункт 7. Размещение платы с контролером и сенсором


Плата WX_Mouse размещается на стойках из алюминия. Стойки вырезались из пластины — толщина пластины это высота стоек. Окончательная подгонка высоты осуществляется за счет тонких прокладок, под стойками.







вид со стороны дна



Пункт 8. Модернизация кабеля


Кабель дорабатывается, путем замены начального сегмента 40-50см, на тонкий, гибкий кабелек, свитый из четырех проводков МГТФ. Свиваются две пары по отдельности — питание и данные, потом они свиваются вместе, т.е. используется витая пара. Сверху одевается матерчатая плетенка, такая же как на родном кабеле. В результате получаем очень легкий и гибкий кабель, который практически никак не ощущается. Если поставить две мыши, одну с этим кабелем и вторую беспроводную, то с закрытыми глазами определить где какая не получится (по крайней мере у меня :) ).



На боковых кнопках видны небольшие металлические «пимпочки». Без них, в напряженных моментах случались ошибочные нажатия. «Пимпочки» сделаны из нержавейки.

Кроме переделки мышей в W-Mouse, занимаюсь их ремонтом если что обращайтесь — проконсультирую или отремонтирую.

Комментарии (19)


  1. JohnnyWild
    26.04.2018 13:47

    Имхо, автору проекта стоило бы уже открыть бизнес по производству периферии и нагнуть многих именитых производителей.


    1. rstepanov
      26.04.2018 15:28
      +1

      Каким образом нагнуть? Прошивкой для ардуины? При всех ее достоинствах (сам не пробовал) этого как то недостаточно.


  1. rstepanov
    26.04.2018 15:16

    Какой адище и варварство. Нарисовать свою плату под заданную геометрию не так уж сложно вроде, изготовление будет десятку стоить, зато будет красиво, аккуратно и надежно.


    1. iG0Lka Автор
      26.04.2018 16:18
      +1

      10-ку чего?
      в данном случае плата была сделана под предыдущий сенсор.
      Новый сенсор оказался близким по размерам и поэтому удалось его вкорячить, по сути это тестовая плата.


      1. rstepanov
        26.04.2018 16:26

        10-12 долларов включая доставку (в зависимости от того, какая контора делает ну и иногда всякие акции бывают).

        У самого горелая мышка есть в очень удобном корпусе, может займусь, сделаю под нее плату. Но мысль использовать навесной монтаж для мышки мне даже в страшном сне не приходила :)

        плата была сделана под предыдущий сенсор


        Это у вас отладочная плата по сути, а я говорю про плату где размещено все, что нужно под этот корпус. Мне, кстати, DeathAdder тоже нравится по эргономике…


        1. iG0Lka Автор
          26.04.2018 16:38

          Делать полную плату под конкретный корпус, может и круто, но имхо не рационально.
          Сегодня корпус один завтра понравится другой…
          Кроме того скорее всего платы будут заказываться вскладчину т.е. будет участвовать несколько человек. Поэтому наиболее оптимальным вариант представляется универсальная плата — сенсор и контролер, а соединения от кнопок и колеса можно кинуть проводками. Зато можно использовать любой корпус.


          1. rstepanov
            26.04.2018 16:50

            Ладно, расскажете потом сколько раз приходилось открывать и приделывать обратно отвалившиеся детали…


            1. iG0Lka Автор
              26.04.2018 17:01
              +1

              По опыту предыдущих переделанных мышей — нисколько раз т.е. зеро.
              Мыши работают годами без проблем., конкретно у друга, подаренная ему лет 5 назад wmouse, живет и здравствует до сих пор.
              Пару раз, на разных мышах, отваливался проводок у енкодера, т.к. колесо с наклонами. Но это происходит и на не переделанных мышах.


  1. sarhome
    26.04.2018 16:18

    Где-то я уже про это читал… Вспомнил…
    Тут же вроде не приветствуется копипаст, даже если вы автор.


    1. Mogwaika
      26.04.2018 16:44
      +1

      Надо было перевести на английский и публиковаться в англоязычный раздел в рубрике «переводы»?


    1. spax555
      26.04.2018 17:45
      +1

      Надо же автору как-то себя рекламировать.
      Правда он не учел, что половина аудитории Муськи сидит и тут.


  1. Desavian
    26.04.2018 17:51

    5-7% погоды не сделают, особенно учитывая сколько придется переучиваться, плюс к этому на серьезных ланах после историй с cheat-engine в памяти мышей, используемой под профили (в кс было дело) вообще не думаю что кто-то даст возможность пользовать настолько серьезно замоденную крысу.


    1. dadyjo
      26.04.2018 19:34

      Там вроде читинг примитивный был, в мышку добавляли флешку на которой сам чит был и по переключателю мышка отключалась подключалась флешка с которой запускали чит и потом отключали флешку.


  1. Daddy_Cool
    26.04.2018 18:47

    По моему великолепно! Хочется закричать «Shut up and take my money!».
    Хочется видео с демонстрацией, и… цену вопроса для простых смертных.


    1. iG0Lka Автор
      26.04.2018 19:09

      Хочется видео с демонстрацией
      с демонстрацией чего? :)
      цену вопроса для простых смертных.
      цену в которую встала переделка или если купить уже сделанную W-Mouse?
      Переделка обошлась примерно в 1000-1300рубл.
      Уже готовую от примерно 4500рубл.


  1. trimtomato
    27.04.2018 01:06

    Настройка динамики движения. Например можно настроить так, чтобы на низких скоростях смещение было более «подробное», а при увеличении скорости мыши, смещение ускорялось.
    Как результат точное, подробное выцеливание пикселов и быстрые развороты, без использования огромных ковриков и размашистых движений.

    Прикольно вкусы меняются. В наше время это называлось акселерация мыши. И это было первое, что нужно было отключить если кто-то хотел хоть сколько-то серьезно играть в CS.
    У меня до сих пор отключена эта галочка, хотя я уже давно не играю. Просто иначе не могу уже.


    1. iG0Lka Автор
      27.04.2018 02:48

      Да ускорение, вот только не тупое умножение как виндовс, а различные, гибко настраиваемые варианты зависимости чувствительности от скорости.
      например зависимость по экспоненциальной кривой скажем при изменении скорости от 0мм/с до 150мм/с чувствительность от 400 до 600дпи.
      При этом получится на скоростях примерно до 50-70мм/с чувствительность будет меняться незначительно (пологая часть экспоненты) а дальше чувствительность будет нарастать быстрее и со скорости 150мм/с будет равна 600дпи.
      Как следствие точное выцеливание на невысоких скоростях и резкие повороты и обороты на высоких. причем степень прогиба экспоненты можно изменять.
      Зачем быть дровосеком если можно двигаться как кошка… :)
      вот этот вариант
      image


  1. rish2k
    27.04.2018 13:57

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


    1. iG0Lka Автор
      27.04.2018 13:59

      видео с конкретно этой мышкой нет и делать не планирую.
      максимум что могу предложить видео игры мышкой wmouse с сенсором 3090
      youtu.be/4V8oRxSdPZs