РадиоКот :: Вибромышь на МК
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

Теги статьи: Добавить тег

Вибромышь на МК

Автор: tomas
Опубликовано 06.02.2012
Создано при помощи КотоРед.

Приветствую всех любителей покопаться во внутренностях собственолапно пойманой электроники.
Сегодня мы поймали за хвост, ненароком пробегающую мимо, мышку. Но она нас видимо не испугалась. Расшевелим-ка ее, заставим дрожать от вида наших усов :)

Проведем операцию по пересадке ей органа дрожания - вибромотора. А для этого придется перехватить у нее кнопки, и обрабатывать их самим, прежде чем отдать сигнал ей. Это очень напоминает внедрение драйвера в ОС, только у нас будет железный драйвер - МК.

Сразу дам ссылки на другие статьи по переделке мышей:

И на эту же статью (которую вы щас читаете), но в варианте для начинающих:

В ней все описано более подробно.


Зарождение идеи, первоначальные цели и стремления можно посмотреть здесь

А теперь перейдем к самой мышке:

Особенности конструкции:

  • Эмуляция кнопки 3xFire (автоклик)
  • Вибрация при выстрелах
  • Простое виброменю для управления режимами вибрации и автоклика
  • Раздельная регулировка частоты автоклика и вибры (но перед прошивкой)
  • Программируемый алгоритм вибрации
  • Нетронутый корпус мышки

Список деталей:


Схема:



Выводы контроллера:

  1. reset. При подаче 0 происходит сброс и вход в виброменю. Для работы подать 1
  2. выход на правую кнопку. Выдает 1. При эмуляции нажатия выдает 0
  3. выход на левую кнопку. Выдает 1. При эмуляции нажатия выдает 0
  4. GND
  5. вход с левой кнопки. При нажатой кнопке должен быть 0, при отпущеной 1 (в контроллере уже включена подтяжка)
  6. вход с правой кнопки. При нажатой кнопке должен быть 0, при отпущеной 1 (в контроллере уже включена подтяжка)
  7. выход на вибродвижок. Выдает 0. При активации вибры выдает 1
  8. VCC

Эти параметры заложены в прошивку. Если мышка в спокойном состоянии на кнопках держит 0, придется тебе редактировать прошивку. Но это не сложно. Если что - поможем. Но я таких мышей пока не встречал.

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

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

Я закрепил его на верхней крышке аллюминиевой скобой. Скобу вырезал из аллюминиевой банки и привинтил шурупом. Шуруп входит в конструкцию мышки и держит декоративную крышку:

Можно попробовать термоклей.

 

Теперь кнопки. Подключаться к кнопкам будем в разрыв:

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

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

Я использовал Dpi - кнопку переключения чувствительности:

Отмечена точка подключения.

У тебя может быть все иначе - смотри сам.

 

Описание работы прошивки:
При включении или нажатии на кнопку Dpi мышь сделает “бип” – это сигнал, что включен режим настройки.
Через секунду мышь сделает еще один “бип” – это сигнал, что мышь перешла в нормальный режим.

Вот за эту секунду, между 2-мя “бип”, надо успеть сделать настройку.

Но спешить не стоит – проверка нажатия идет только во время второго “бип”, т.е. следует нажать кнопки и держать их до второго “бип”.

Настройка простая : левая кнопка отвечает за двойной щелчок(или автоклик в последних прошивках), правая за виброрежим.

Обе кнопки независимы и действуют как переключатели, т.е. если кнопки не трогать до второго “бип” – настройки не изменятся, а если нажать и держать одну или обе кнопки – соответствующие настройки поменяются на противоположные.

Во время второго “бип” контроллер смотрит на состояния кнопок:

  • Не нажаты – ничего не делает
  • Нажата левая кнопка – изменяется состояние автоклика с ON на OFF или с OFF на ON
  • Нажата правая – тоже самое, но меняется состояние режима вибры
Обе кнопки независимы, т.е. можно сразу две нажать – вся настройка делается за один раз.
Недостаток такой настройки – режим чувствительности от нажатия на Dpi сменится на следующий и его придется переключать назад. Если это не устраивает - делай отдельную кнопку.

 

Настройка и редактирование прошивки, фьюзы, а также список версий и их описание ищи в файле ReadMe.txt рядом с бинарниками прошивок.

Исходники прошивки (для Algorithm Builder ): скачать (365кб)
Там же там скомпилированные прошивки, схемы, мануал - вся необходимая информация по проекту.
Все вопросы по статье задавать здесь

Автор не несет ответственности за ущерб. Все действия вы совершаете на свой страх и риск.
Автор tomas. Только для некоммерческого распространения. В случае перепечатки обязательно указывать автора и ссылку на первоисточник.


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

7 1 0
1 1 0