Перейти к содержанию
    

Прошу помощи в разработке энкодера колеса мыши

1 минуту назад, khach сказал:

Да и где тот шарик теперь найти?

Топикстартер скорее всего найдёт, у него же хобби соответствующее.

5 минут назад, khach сказал:

 Нет смысла на асме выдумывать каждый такт программы, чтобы и софтовый СОМ организовать и софтовый энкодер шариков мыши.

Топикстартер уже высказал нежелание осваивать программирование микроконтроллеров, вот Вы ему как раз подсказали оптимальный путь с минимальными затратами времени на программирование.

8 минут назад, khach сказал:

Так на новых у таймера есть интерфейс энкодера квадратурного аппаратный, и COM порт тоже аппаратный есть...

Тут скорее I2C интерфейс к оптическому датчику мыши писать надо будет.

Это уже может оказаться для него слишком сложным, но это он пусть сам решает.

В любом случае, это куда интереснее, чем аппаратное решение. Можно вообще взять современную многокнопочную мышь, заменить её USB-шный хвост и что угодно на фантазировать. Но только там и с ПК придётся повозиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 часов назад, Darmok сказал:

Микропроцессоры для меня не новинка, когда-то я уже делал разработки на их основе и хорошо представляю себе процесс возни с ними. Тогда это был древний i8048, сейчас делать что-либо на нем, пожалуй, не стоит. Изучение чего-либо нового это хорошо, но есть нюанс. Нюанс этот заключается в возрасте, который сильно, очень сильно затрудняет освоение нового. Это не оправдание моей лени и не кокетство, а объективный процесс угасания нейрофизиологических функций головного мозга в старости.

Где-то читал, что это - миф. Никакого угасания из-за собственно только возраста нет. Угасание происходит из-за неиспользования этих самых функций мозга (как и любая другая функция организма - если не используется, то атрофируется со временем; природа не любит ненужных излишеств). Большинство пенсионеров просто не хотят изучать ничего нового, отсюда и угасание функций их мозга.

17 часов назад, Darmok сказал:

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

Тогда можно идти двумя путями:

  1. Взять простейший МК (несложный для изучения) и реализовать схему мышки на нём, подключив к нему датчик перемещения и кнопки. Выдавая наружу через UART. Не знаю - что за датчики перемещения стоят в оптических мышках. Но думаю их вполне возможно подключить к обычному МК. В качестве удобного МК думаю вполне подойдёт STM8: он имеет минимальный набор стандартной периферии, периферия у него простая, код пишется на си, есть эмуляторы. И сам STM8 и эмуляторы к нему - дешёвые.
  2. Сделать преобразователь интерфейсов: На какой-либо плате с МК (с USB) поднять USB-хост, воткнуть в него мышку и все получаемые от неё данные пересылать на любой порт этого МК (UART например). Если начинающий, то: Ставим IAR for ARM, в списке примеров идущих с ним в комплекте есть примеры USB-хостов для мышки для разных МК. Выбираем один из этих МК. Запускаем и изучаем проект. Изучив проект, можно найти в нём данные получаемые от мыши и немного доработать его, чтобы эти данные далее пересылались на какой-то интерфейс МК (UART).

Имхо - 2-й путь лучше. Так как даёт возможность использовать любые готовые мыши.

Выдержка из readme.txt одного из таких IAR-овских демо-проектов для мышки:

Цитата

Host code demo waits for an HID mouse and basically displays the movement and the button status of the mouse in the serial console.

...
================
Demo explanation
================
Download the code and run it. After the terminal shows the message "waiting for mouse" use an USB adapter to connect a standard HID mouse th to USB port in the TWR-serial board.
Kinetis will recognize the mouse and will show some information about it and user can start moving te mouse and pressing the buttons.

Т.е. - если его запустить, думаю будет несложно найти откуда вытащить нужные данные, чтобы переслать их в UART.

 

PS: А лазерный утюг, да ещё с DIP - это тупиковый путь. Как уже сказали выше...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не издевайтесь над ТС, предлагая сделать аппаратный враппер USB HID мыши на COM порт- поднимать USB HOST для данной задачи намного более сложная задача чем изобразить простейший контроллер CОМ-овской мыши.

Проблема с шариками в том, что начало от времени разлагаться резиновое покрытие шариков, а новых не достать. Вот у меня есть подобная проблема- древний СВЧ измерительный прибор японский, кнопки меню вдоль экрана подыхают от времени. Прибор умеет работать с мышью неизвестного интерфейса ( вообще не PC). Надо современню оптическую мышь переделать  для обеспечения совместимости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, khach сказал:

кнопки меню вдоль экрана подыхают от времени.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 минуты назад, khach сказал:

Не издевайтесь над ТС, предлагая сделать аппаратный враппер USB HID мыши на COM порт- поднимать USB HOST для данной задачи намного более сложная задача чем изобразить простейший контроллер CОМ-овской мыши.

Я же предлагал не "поднимать", а "взять готовый, уже поднятый". И даже написал - где можно взять. Даже для начинающего это должно быть несложно.

PS: IAR-овские примеры имеют свойство работать "из коробки".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 минуты назад, khach сказал:

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

А я свои даже не выкидывал, в родные коробки сложил. Интересно будет посмотреть, разложились или нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 минут назад, Vasily_ сказал:

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

Так не получается, пробовали уже- там антидребезг кнопок аппаратный, а не программный как в современных клавиатурах поэтому на резину не срабатывает. Оригинальные кнопки на бистабильных мембраннах нетипичного размера для современных кнопок и золото под кнопками проело от времени. Мышь- возможность тыкать по меню дистанционно, но нет ни самой мыши, ни ее протокол неизвестен. Пока просматриваем ебай вдруг получится найти оригинал и снять протокол обмена мыши. Там что то типа SPI  но не PS/2 точно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

44 минуты назад, khach сказал:

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

Помнится (из 90-хх), что в некоторых мышах шарики были металлические. Без резиновой оболочки. Такие не должны разложиться. (разве что поржаветь :crazy: )

Хотя - из чего сделаны внутри ролики (которые крутит шарик)? вопрос. Возможно, что они обрезиненные в таких мышках. В мышах с обрезиненным шариком, ролики внутри были пластиковые.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

37 минут назад, khach сказал:

Не издевайтесь над ТС, предлагая сделать аппаратный враппер USB HID мыши на COM порт- поднимать USB HOST для данной задачи намного более сложная задача чем изобразить простейший контроллер CОМ-овской мыши.

А я и не издевался, а сразу предупредил, что это возня ещё та с COM-портом.

Как вариант - вывести часть функций этой мыши на вход клавиатуры параллельно с клавиатурой. Что у него там PS/2 или 5-контактный DIN - без разницы. И питание оттуда же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

digitizer mouse.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Один из путей замены шариковой мыши — это использование конверторов. Такие конверторы интерфейсов уже разработаны и даже один вариант производится мелкосерийно и доступен в продаже. Однако этот вариант покупают от безысходности, на него много нареканий – большой лаг и он не работает через КВМ. Автор этого варианта забросил свое творение и не хочет его доводить до ума. Предположительно что-то не поделили с изготовителем. Также существуют и другие гораздо более качественные конвертеры, но их авторы не занимаются тиражированием. Эти конвертеры используют заказные промышленно изготовленные платы, которые автор заказывает в нескольких экземплярах, поскольку так выходит дешевле. Лишние экземпляры он распродает, окупая затраты, и на этом все. Несмотря на то что такие проекты опенсорсные и вся документация доступна в полном объеме, с их воспроизведением дело движется туго. Причина в том, что подавляющее большинство членов сообщества — это обычные потребители готовые купить, но сами ничего делать не будут. (Вот и мне в личку приходили предложения о покупке моих изделий до тех пор, пока я не обозначил свою страну. После этого – как отрезало. 🙂) Кроме того, такая репликация требует какой-никакой квалификации и не каждому доступна. Те же, кто на это способен тоже не хочет заниматься чужими проектами, поскольку им это не интересно и у них есть какие-либо свои.

Поэтому я и предложил свое решение проблемы, не связываться с достаточно сложными конверторами, а просто и незатейливо самостоятельно сделать оптическую последовательную мышь. Мой первый вариант был очень прост, а также было предложен способ достигнуть результата без изготовления печатной платы. Любой, кто умеет держать в руках паяльник и знает, как пользоваться мультиметром потенциально способен за пару дней изготовить собственную оптическую последовательную мышь. Мой топик так и называется Homemade Serial Optical Mouse? It's Simple!. Недостатком этого варианта было то, что он требовал внешнего питания, которое предполагалось брать от порта клавиатуры через сплиттер.

Следующий вариант питается прямо от СОМ порта. Ранее считалось, что это невозможно из-за слишком большого потребления тока сенсором. Я сам тоже так считал. Однако загоревшись идеей преодолеть это ограничение, я решил и эту проблему.

Третий вариант выжал все возможности самого развитого последовательного протокола Microsoft IntelliMouse. Т.е. поддержка трех кнопок и колеса. Также была добавлена аппаратная кнопка двойного клика, так как не один известный последовательный контроллер не поддерживает такую функцию. Одним из недостатков последовательных мышей является низкая частота рапортов. Например, для IntelliMouse это всего 30 посылок в секунду на стандартной скорости интерфейса 1200 бод. Этого явно мало для игр, частоту можно поднять, увеличив скорость обмена. Это и было мной сделано, по желанию поддерживаются скорости вплоть до 9600 бод. При этом частота рапортов составит 240 в секунду, что больше максимально достижимой в 200 для PS/2 мыши. Однако стандартные драйверы уже не годятся, их нужно модифицировать. Это тоже было мной сделано для DOS, Win3x и Win9x как самых популярных среди владельцев старых компьютеров.

Дальнейшее совершенствование последовательных мышей уперлось в ограничение протокола. Даже если использовать конвертор и пятикнопочную да хоть десятикнопочную USB мышь, все равно будем иметь только три стандартные кнопки и колесо. Для чего-то большего придется писать собственные драйверы, да еще и для разных ОС, задаче весьма непростая.

 Новый вариант, который я сейчас проектирую, преодолевает и это ограничение. Можно иметь столько кнопок, сколько есть на клавиатуре клавиш. Достаточно стандартных системных драйверов, поддерживается любая ОС. Есть возможность скроллинга в тех DOS и Win3x программах для которых это имеет смысл.

Все мои мыши — это только действующие демонстрационные образцы, если угодно, идейные концепты, демонстрирующие возможность и пути создания последовательных мышей с недостижимой ранее функциональностью. Причем все они изготовлены в домашних условиях, а значит при должном желании могут быть реализованы и другими, разумеется творчески переработав как схему, так и исполнение и даже придерживаясь строгих требований ревнителей электронного феншуя. «Цели определены, задачи поставлены – за работу, товарищи».

В отличии от иных других моих проектов, эти для меня не являются утилитарными. По большому счету все эти мыши мне не нужны, в игры я не играю, досом пользуюсь редко и вполне довольствовался бы одной клавиатурой. Я создаю их как некий образец для подражания любому заинтересованному желающему. Поэтому мне все равно что у мыши внутри: ДИП, СМД, микроконтроллер да хоть лампы. Главное, что она должна функционировать так как я и задумал. Но все же я ограничен доступной мне технологией, затрачиваемым временем и прикладываемыми усилиями.

Надеюсь теперь понятно почему я так активно сопротивляюсь попыткам пересадить меня на микроконтроллеры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы даже не представляете, от чего Вы отказываетесь :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, A.V.Avtomat сказал:

Вы даже не представляете, от чего Вы отказываетесь :biggrin:

Пожалуйста, расскажите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 минут назад, Darmok сказал:

Пожалуйста, расскажите.

Ну вот был на дворе 93й год, я тогда еще только слышал что-то про контроллеры, ну т.е. 8031 вернее ВЕ31, они были доступны, называть это все "микро" язык не поворачивался, т.к. для нормального функционирования всего этого нужна была сама эта здоровая ДИПина на 40 ног, ПЗУшка почти такая же, и еще регистр ИР22 или 23 не помню, да и хрен с ним, и еще 150мА по 5В...

Плюс к этому ПЗУшку надо было чем-то стирать, прошивать и как-то делать программу в редакторе или на бумаге, как самые крутые перцы)))))))))  Что мне тогда студенту ПТУ было совсем неподъемно и геморно до жути, поэтому я тупо брал логические МС в тех же дипах и мамтерил из них всякие мигалки к великам, охранные системы, телефонные коммутаторы и пр. т.п. хренотень, которая даже продавалась и финансировала мои шмотки и всякие мелочи. Потом я поступил в политех и познакомился с одним преподом, который рассказал мне, что появились такие штуки - микроконтроллеры PIC16F84, которые всего 18 ножек, килобайт ПЗУ и там еще какие-то таймеры...  Я, как ТС сопротивлялся, говорил, ну эт же сложно, надо стирать, программировать, дорого очень, ну на логике проще и понятнее, так пол-года упирался, но как-то все-таки решил рискнуть, т.к. МК мне решено было дать на попробовать, т.к. никто в нем не разбирался вообщем-то)))  И еще купил программатор какой-то дешманский в ком порт и программой жутко убогой, которая работала через раз))

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

А потом... Блин, просто кайф, в телефонном коммутаторе сделал несколько режимов, он стал лучше распознавать щелчки их линии, чтоб выбирать куда переадресовывать, т.к. DTMF тогда был у немногих, а 80% работали в пульсовом наборе, Сделал еще много чего, от автоматов освещения, до охранных систем, ну а потом перешел на еще больший кайф - АВРки, сначала на 2313, потом 8535 - это был вообще космос!)))

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, Darmok сказал:

Пожалуйста, расскажите.

У меня история тоже интересная. Меня в 90-х обделили отладочными средствами, я сам делал клоны программатора и внутрисхемного отладчика Microchip по своим схемам. Программатор вообще сделал с максимальным импортозамещением (использовал отечественные микросхемы, имеющиеся на складе). Далее куча разработок, участие в техническом форуме Microchip Masters 2001, продвижение их продукции на предприятии.

Когда нашёл новую работу, продолжил осваивать PIC16, 24, 32 с покупными MPLAB ICD2, 3. Сделал на них много разного, подсадил фирму на Microchip - до сих пор довольны, очень надёжные МК и работают в милитари диапазоне исправно.

Были попытки замены PIC32 на STM32, которые с треском провалились, так как последнее г... на минусах глючило.

Сейчас продвигаю Microchip на крупном предприятии. Как я ожидал, уверенно работают от -60.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...