реклама на сайте
подробности

 
 
> AVR & serial mouse, Мышь для последовательного порта = 2 энкодера + 2/3 кнопки
kv_addr
сообщение Mar 1 2007, 17:49
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-07-04
Из: Полтава
Пользователь №: 279



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

А почему бы не использовать колеса и кнопки вместе с родным контроллером? Любое нажатие кнопки или поворот колеса вызывает выдачу состояния мыши из 3 байтов в асинхронном RS-232C формате со скоростью 1200бод. Поскольку УСАПП микроконтроллера в приборе использован не будет, можно спокойно на RxD повесить выход контроллера мышки, пускай себе принимает данные.

Вышесказанное касается контроллера 2-кнопочной мыши Mitsumi с контроллером 9202F или подобных этому. Для трехкнопочных мышей будет пакет из 5 байтов, но суть - та же.

Возникает вопрос, не изобретал ли уже кто-либо этот "велосипед"? Конечно, разбираться с ним буду, но было бы интересно посмотреть уже реализованные варианты, если таковые имеются.

PS: Имеется вязанка разных старых мышей 2/3-кнопочных с рабочими контроллерами и оптопарами, грех не использовать.
PPS: Для питания COM-мышей достаточно +5В. По крайней мере, для 9202F, остальные не проверял, но скорее всего отрицательное напряжение и для них нужно лишь для работы с COM-портом.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
676038
сообщение Mar 2 2007, 20:35
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 25-07-06
Пользователь №: 19 070



Вдруг поможет...

Подключал ps/2 мышь к контроллеру Atmega16.

Пробная программа написана на IAR4.12, работает так:
инициализирует мышь подключенную к INT0 - CLOCK и PORTD_Bit3 - DATA (в трехкнопочном режиме со скроллером),
затем при нажатии кнопки или движении мыши идет перенаправление принятых кодов на USART (используя форматный printf)

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

Разбирался с протоколом и алгоритмом по следующим ссылкам:
http://www.computer-engineering.org/ps2mouse/
http://www.computer-engineering.org/ps2protocol/
Прикрепленные файлы
Прикрепленный файл  ps2.zip ( 58.41 килобайт ) Кол-во скачиваний: 203
 
Go to the top of the page
 
+Quote Post
kv_addr
сообщение Mar 3 2007, 00:30
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-07-04
Из: Полтава
Пользователь №: 279



Цитата(676038 @ Mar 2 2007, 21:35) *
Вдруг поможет...

Подключал ps/2 мышь к контроллеру Atmega16.

Пробная программа написана на IAR4.12, работает так:
инициализирует мышь подключенную к INT0 - CLOCK и PORTD_Bit3 - DATA (в трехкнопочном режиме со скроллером),
затем при нажатии кнопки или движении мыши идет перенаправление принятых кодов на USART (используя форматный printf)

Стоит чисто утилитарная задача - в качестве экодера применить мышиную оптопару плюс к этому - мышиный контроллер для разгрузки контроллера как по обработке данных с энкодера, так и по количеству используемых линий порта. Последовательная мышь выбрана из сображения наличия целого пучка оных (вышли из моды wink.gif ) и из простоты работы с ней - только лишь RxD и минимум затрат времени (контроллерного). PS/2 (механические) тоже валяются и их тоже можно использовать, но по вышеприведенным критериям они уступают сериальной. А ради спортивного интереса можно и с ними разобраться.

Цитата(676038 @ Mar 2 2007, 21:35) *
Прошу прощения за качество программы, дальше проект не пошел ввиду бесперспективности, т.к. невозможно купить микросхему контроллера мыши, а переделывать серийные мышки под устройства ввода - это годится только для штучных изделий...

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

Если бы речь шла о серийном изделии, то никаких мышей, никакой самодеятельности. В даном случае - самодельный прибор для личного употребления. Здесь использование узлов и деталей, демонтированных из каких-либо изделий, вполне допустимо.
Go to the top of the page
 
+Quote Post
676038
сообщение Mar 3 2007, 09:14
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 25-07-06
Пользователь №: 19 070



Цитата(kv_addr @ Mar 3 2007, 02:30) *
Стоит чисто утилитарная задача - в качестве экодера применить мышиную оптопару плюс к этому - мышиный контроллер для разгрузки контроллера как по обработке данных с энкодера, так и по количеству используемых линий порта. Последовательная мышь выбрана из сображения наличия целого пучка оных (вышли из моды wink.gif ) и из простоты работы с ней - только лишь RxD и минимум затрат времени (контроллерного). PS/2 (механические) тоже валяются и их тоже можно использовать, но по вышеприведенным критериям они уступают сериальной. А ради спортивного интереса можно и с ними разобраться.

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

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


Вообще говоря, такую задачу решить не сложно, см. мои файлы. Выбор ps/2 мыши был обусловлен тем, что их еще можно купить, и тем, что они могут быть и трехнопочными, и со скроллером. А это значит, что мы можем подключить до трех независимых кнопок и до трех энкодеров. И все это по двум проводам, и ко всем этим радостям можно не думать о всяких гадостях типа дребезга.

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

Кстати, подобным образом можно подключить и PS/2 клавиатуру, протокол-то тот же...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016