Что можно сделать из лазерной мышки
Перейти к содержимому

Что можно сделать из лазерной мышки

  • автор:

Кафедра АППиЭ

3. Кожемяко. Как из оптической компьютерной мыши сделать датчик перемещения?

Автор Ko_Dee, Среда, марта 30, 2016, 07:33:24

Страницы 1
Страницы 1

  • Кафедра АППиЭ
  • ► КОНФЕРЕНЦИИ
  • ► Дни науки АмГУ 2016 Секция Автоматика, управление и моделирование
  • ► 3. Кожемяко. Как из оптической компьютерной мыши сделать датчик перемещения?
  • Помощь | Условия и правила | Вверх ▲
  • SMF 2.1 Beta 2 © 2015, Simple Machines

Страница создана за 0.160 секунд с 23 запросами.

НЕ ВЫБРАСЫВАТЬ, А ИСПОЛЬЗОВАТЬ!

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

«КРАСНЫЙ ГЛАЗ» ВКЛЮЧАЕТ СВЕТ

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

— во-первых, миниатюрная мышь SVEN DNEPR хорошо входит в гнездо под штатный клавишный включатель на стене;

— во-вторых, не требуется непосредственного контакта с включателем — достаточно провести пальцем (или иным предметом) на расстоянии 1,5 см от «красного глаза» подсветки;

— в третьих, устройство изначально обладает эффектом триггера: один раз провёл пальцем — свет загорелся, провёл второй раз — выключился;

— предусмотрен и индикатор реагирования — при проводе пальцем у «подсветки», она загорается в три раза ярче.

К оптической компьютерной мыши добавляется простейший усилитель тока на транзисторе с исполнительным реле в коллекторной цепи с тем, чтобы сигналы от мыши управляли лампой освещения мощностью до 200 Вт (ограничены параметрами реле) — об этом ниже. Поскольку практически все компьютерные оптические мыши построены по одной схеме и принципу работы, рассмотрим одну из них — Defender Optical 1330, представленную на фото 1.

Фото 1. Вид оптической мыши Defender Optical 1330 со снятой крышкой корпуса

Фото 1. Вид оптической мыши Defender Optical 1330 со снятой крышкой корпуса

Фото 2. Печатная плата оптической мыши Defender Optical 1330 со стороны оптической линзы

Фото 2. Печатная плата оптической мыши Defender Optical 1330 со стороны оптической линзы

Фото 3. Приёмо-передатчик RX-9 комплекта беспроводной клавиатуры и манипулятора оптической мыши

Фото 3. Приёмо-передатчик RX-9 комплекта беспроводной клавиатуры и манипулятора оптической мыши

Фото 4. Установка беспроводной мышки для охраны сейфа

Фото 4. Установка беспроводной мышки для охраны сейфа

Фото 5. Сирена KPS-4519 в качестве звуковой сигнализации

Фото 5. Сирена KPS-4519 в качестве звуковой сигнализации

Основное устройство позиционирования координат — микросборка с обозначением U2 А2051В0323, совмещённая с фотоприёмником (в одном корпусе). С вывода 6 данной микросборки на светодиод красного цвета постоянно поступают импульсы с частотой около 1 кГц, поэтому даже когда оптическая мышь находится без движения на столе, видна красная, едва мерцающая «подсветка». Однако значение её не только подсвечивать место, занимаемое мышью — для красоты. Светодиод — это передатчик, а приёмником служит сама микросборка со встроенным в её корпус электронным узлом. Когда отражённые от любой поверхности световые сигналы достигают фотоприёмника, уровень напряжения на выводе 6 U2 падает до нуля, и светодиод загорается в полную силу. Именно такую реакцию мы видим у мышки на компьютерном столе при попытке её перемещения.

Время горения светодиода в полную силу составляет 1,3 с (если нет более продолжительных воздействий на мышь). Одна из главных деталей оптической мыши, как ни странно, не электроника, а пластмассовая линза, изогнутая под определённым радиусом (см. фото 2), без неё мышка «слепнет».

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

Когда на фотоприёмник поступает отражённый от препятствия (вашего пальца, ладони) сигнал, на выводах 15 и 16 микросборки U1 НТ82М398А (и соответственно на выводах 4 и 5 микросборки U2) изменяется уровень логического сигнала на противоположный. Причём это не инверсные выводы, а независимые друг от друга. Изменение сигнала на них происходит в зависимости от вертикального или горизонтального перемещения мыши. Управляющий сигнал для исполнительного устройства (низкий уровень сменяется на высокий, вывод 15 U1 и вывод 4 U2) подключают к исполнительному устройству, к точке А.

Открывание транзистора и включение реле происходит при высоком логическом уровне в точке А. Диод VD1 защищает обмотку реле от бросков обратного тока. Резистор R1 ограничивает ток в базе транзистора. Реле может управлять не только лампой освещения, но и любой нагрузкой с током до 3 А. Источник питания — стабилизированный, с напряжением 5 В ±20%. Транзистор можно заменить на КТ603, КТ940, КТ972 с любым буквенным индексом, а исполнительное реле К1 — на РМК-11105, TRU-5VDC-SB-SL или аналогичное на напряжение срабатывания 4-5 В.

Рис. 1. Усилитель тока с исполнительным реле, управляющим нагрузкой в сети 220 В

Рис. 1. Усилитель тока с исполнительным реле, управляющим нагрузкой в сети 220 В

Рис. 2. Схема адаптера для звуковой сигнализации открывания сейфа

Рис. 2. Схема адаптера для звуковой сигнализации открывания сейфа

Четырёхпроводный кабель частично отпаивают от платы в месте соединения со штатным разъёмом и перепаивают два провода (зелёный и белый к выводам 15 и 16 микросборки U1 со стороны элементов (не печатного монтажа), так как иначе провода будут мешать установке платы в корпус мыши.

Изначальная распайка разъёма на плате мыши: 1-й вывод — общий провод, 2-й вывод — питание «+5 В», 3-й и 4-й -выходные импульсы.

Если схема и печатная плата у вашей мыши не соответствуют представленной на примере Defender Optical 1330, достаточно взять любой осциллограф или логический пробник (индицирующий хотя бы два основных состояния — высокое и низкое) и опытным путём найти на плате точки с управляющим сигналом.

Подойдёт любая оптическая мышь для ПК, поэтому нет разницы какой разъём находится в конце соединительного кабеля компьютерной мыши, его всё равно придётся снимать. Также можно применить и беспроводные мыши (с передачей сигнала по радиоканалу, к примеру, из комплекта А4 TECH — адаптер мыши RX-9 5 В 180 мА), в части позиционирования координат у них такой же принцип работы, как и у проводных.

МЫШЬ-СТОРОЖ

Сейчас наступает новая волна смены поколений распространённого компьютерного манипулятора: «хвостатые» (с проводами) оптические мыши уступают дорогу своим беспроводным аналогам. К примеру, актуальны беспроводные оптические манилуляторы-мышки RP-650Z в комплекте с беспроводной клавиатурой (с эргономичным расположением основных клавиш и 19-ю дополнительными перепрограммируемыми кнопками). Сенсор фирмы Agilent Technologies, использованный в мышке RP-650Z, является лидером данного сектора рынка.

Оптическое разрешение мышки равно 800 dpi — этого вполне достаточно для хорошей работы. Приёмо-передатчик радиосигнала и зарядник аккумуляторов типа АА с переключателем для быстрой зарядки, размещены в одном корпусе (фото 3). Этот блок подключается к USB-порту.

Фирма A4Tech маркирует свои манипуляторы индивидуальным электронным кодом, благодаря которому на одном канале приёма могут соседствовать до 256 манипуляторов или клавиатур. Подобное техническое решение сужает пропускную полосу передачи данных, но при максимальном радиусе уверенного приёма в 2 метра это не критично.

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

Должен заметить, что не менее эффективный сигнализатор может быть получен, если в качестве мыши установить на контролируемую поверхность автомобильный датчик удара; он также срабатывает от детонации или механического воздействия на контролируемую поверхность, а его современные модели имеют даже несколько уровней регулировки чувствительности. В компьютерной мышке этой опции нет по определению её первого и основного назначения, но это и не важно; ведь мы рассматриваем её необычное применение.

Я установил беспроводную мышь RP-650Z (фирмы А4Тес11) на переднюю стенку сейфа, в котором хранится охотничье оружие, хотя хранить в нём можно что угодно (фото 4).

Сейф стоит во встроенном шкафу (ниша в стене городской квартиры); благодаря беспроводной технологии нет необходимости в проводах. В пределах 2 метров расположен приёмо-передатчик радиосигнала (см. фото 3), который соединён с устройством-адаптером (схема на рис. 2).

Распайка разъёма для USB порта относительно выше рассмотренного варианта не отличается. В беспроводной мышке RP-650Z управляющий сигнал (при смещении мыши уровень в данной модели меняется с высокого на низкий) берут с вывода 4 единственной микросборки UM1 (обозначение на плате). Поэтому в данном случае потребуется иная схема усилителя тока (см. рис. 2). Теперь при открывании сейфа и даже любом механическом воздействии на него (смещающем на доли миллиметра датчик-мышь) сработает устройство охраны.

В качестве НА1 применён звуковой капсюль со встроенным генератором звуковой частоты, подключать его надо строго в соответствии с полярностью. Транзистор VT1 р-n-р проводимости открывается тогда, когда напряжение в точке А близко к нулю, то есть в момент смещения мыши. Можно использовать и сирену KPS-4519 (фото 5), поскольку при приложенном питании 12 В она даёт достаточную громкость звука для того, чтобы услышать его в соседних помещениях (более 80 дБ). Подключать сирену надо в соответствии с полярностью (красный провод — к «+» питания).

Два слова о закреплении мыши. На нижнюю часть её корпуса, не закрывая светодиод и линзу, приклеивается магнит (от рекламных магнитов на холодильник). Теперь мышь надёжно фиксируется на любой металлической поверхности (холодильника, стиральной машины и др.). При попытке её снять также сработает сигнализация, сообщая владельцу о несанкционированном доступе к сейфу.

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

А. КАШКАРОВ, г. Санкт-П етербург

Оптическая мышь: принципы работы и технологические особенности

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

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

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

Устройство оптической мыши

В основе конструкции оптического датчика лежит источник света. В классических оптических мышках — это светодиод. Он распространяет лучи, которые отражаются от рабочей поверхности и улавливаются сенсором. Для фокусировки светового потока в схему дополнительно вводится призматическая линза. Сфокусированный ею пучок света освещает рабочую поверхность под довольно острым углом — примерно 25 – 30°. Это сделано для того, чтобы получать отчетливый светотеневой рисунок даже на поверхностях с незначительным микрорельефом.

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

Наглядное устройство оптических мышей со светодиодным и лазерным источником света.

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

Схожим принципом действия обладают и лазерные мышки. Вместо LED-источника света в них установлен инфракрасный лазерный диод. В силу своих физических свойств он фокусируется точнее: ему не нужно отчетливо видеть неровности, которые отбрасывают тени. Корректная работа лазерных мышек возможна даже на зеркальных и стеклянных поверхностях — именно они зачастую «не по зубам» традиционными оптическим «грызунам». Чаще всего лазерные сенсоры используют в высокоточных профессиональных мышках а-ля Apple Magic Mouse, или Lenovo Professional. Еще одним плюсом лазерных мышек является низкое энергопотребление по сравнению со светодиодными, что позволяет дольше сохранять автономность беспроводным моделям.

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

Компьютерная мышка как точный датчик

Задача: быстро сделать датчик линейного перемещения из компьютерной мышки.

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

С какими подмышиными камнями мы столкнулись, плюс техническая часть, расскажем дальше!

Следующее ТЗ дал заказчик: сделать как можно скорее, с любой мышкой (возможно беспроводной), выводить на 7 сегментный индикатор, обнулять по кнопке, компьютер не подходит, нужна разрешающая способность 0.01 мм, максимальное расстояние 1000 мм.

Для начала как все это делалось:

Считывание координат xy с мышки: Реализовать считывание данных можно несколькими способами: а) Непосредственно с микросхемы оптического сенсора + Можно обойтись простым контроллером - Про универсальность можно забыть совсем б) Подключить мышку по USB к простым контроллерам (например к ардуино) + Простота и дешивизна - Надо паять - Под рукой была только arduino, а к ней можно подключить мышки совместимые с PS/2, а они обычно очень неточные. Можно было на stm32, но отладочные платы сильно подорожали, самому паять не было времени. (но если интересно, то несколько лет назад был такой похожий проект именно на stm32f4discovery) в) Взять какой нибудь простой одно платный компьютер. Под рукой был как раз Raspberri pi. + Подходит для любых USB мышек + Хорошая производительность - Дорого, но может избыточная мощность потребуется потом

В итоге, под нож хирурга легла Малина пи 3. Четыре 64 битных ядра A-53 по 1GHz, 512 МБ оперативки и много других космических для этой задачи циферок.

Задачка: Индикация должна быть на выданных 7-сегментных индикаторах. Получается нам необходимо по 6 цифр на одну координату, итого 12 индикаторов. Каждый индикатор имеет 7 ножек на цифры+ ножка на светодиод точки (dp), общий провод не считаем. Итого после простых расчетов получаем, что мы должны управлять 96 проводниками плюс нужна кнопка. 96 резисторов не очень хотелось тратить.

Послушайте!
Ведь, если светодиод зажигают — значит — это нужно один резистор?

Управлять сразу таким массивом ножек нету возможности. Выход есть! И даже несколько!

1) Использовать дополнительные микросхемы по типу max7219, или сдвиговые регистры, мультплексоры, и т.д.

+ Можно почти бесконечно наращивать количество индикаторов
— Max7219 оказалась с рабочим напряжением 5 В
— Не было под рукой ничего подходящего.

2) Можно сделать динамическую индикацию. В один момент времени зажигать только один светодиодный индикатор. Если индикаторы переключать очень быстро, то человеческий глаз не заметит подставы.
+ Нужно только 8 проводов и резисторов на один индикатор и 12 на переключение индикаторов. Плюс не забываем кнопку. Итого: всего 21 ножка против 96. Берем!
— Так как мы пытаемся управлять целым индикатором через один пин распберри, то максимальный ток у нас ограничен 50 мА. Всегда берем запас, и берем 35 мА на все 8 светодиодов (что не шибко). Еще к этому добавим быстрое переключение индикаторов. В итоге у нас каждый светит в 12 раз меньше положенного. Доработать можно 12 транзисторами, но оставил я это на потом, т.к. яркости в конечном счете хватило.

Теперь начинается софт:

На распберри пи надо поставить linux. Я поставил минимальный дистрибутив
RASPBIAN JESSIE LITE.

Далее через программу putty подключился к IP малинки, и дальше все через командную строку.
Чтобы было проще работать с GPIO(портами ввода и вывода) есть замечательная библиотека WiringPi.

Как устанавливать её и управлять портами, вы сможете найти много информации в сети, поэтому не буду подробно останавливать на этом.

Дальше надо создать папочку нашего проекта:

cd /home/pi sudo mkdir mouse cd /home/pi/mouse

Дальше открываем редактор и вставляем код с гита. ВАЖНО! Код писал на очень скорую руку!

sudo nano

для выхода из редактора надо нажать Alt+x и сохранить файл с названием blinker.c. Дальше надо обязательно скомпилировать с указанием wiring pi:

gcc -o mouse mouse.c -l wiringPi 

Все! Теперь подключаем мышку, вставляем провода и запускаем!

Подключение проводов

// pin number declarations. We’re using the Broadcom chip pin numbers.

const int p21pin = 2;
const int p22pin = 3;
const int p23pin = 4;
const int p24pin = 17;
const int p25pin = 27;
const int p26pin = 22;
const int p11pin = 10;
const int p12pin = 9;
const int p13pin = 11;
const int p14pin = 5;
const int p15pin = 6;
const int p16pin = 13;
const int papin = 8;
const int pbpin = 23;
const int pcpin = 12;
const int pdpin = 20;
const int pepin = 21;
const int pfpin = 24;
const int pgpin = 18;
const int pdppin = 16;

const int butpin = 26;

sudo ./mouse

Автозапуск при загрузке:

sudo nano /etc/rc.local и перед exit 0 дописать две строчки cd /home/pi/mouse sudo ./mouse &

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

Дальше самое интересное! Тестирование и результаты!
Какие есть нюансы работы с мышкой:

1. Оси X и Y на моей мышке были не параллельны боковым граням, приходилось для высчитывания реального расстояния пользоваться «пифагоровыми штанами».

2. Разрешающая способность не равно погрешность!

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

3. USB HID по которому работает мышь не гарантирует доставку информации в компьютер! То есть неизвестно пропустил ли компьютер какую нибудь информацию с мышки или нет. Вероятность пропажи информации малая, но все же есть.

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

5. Тут я сильно зол! Дело в том, что мышку я брал самую крутую из ассортимента Logitech, это самая продвинутая была на тот день модель logitech performance mx. Но какого было мое удивление, когда мышь давала разные погрешности при движении вперед и назад. ЭТО КАК? Поясню для пользователя. Если постоянно двигать мышку назад и вперед, то курсор ощутимо так все снижается и снижается. Это на любых платформах. Приходится периодически поднимать мышку и ставить на новое место. После того, как я заметил это, моя жизнь превратилась в кошмар! #Logitech logitech объясните существенную разницу в погрешностях измерения вперед и назад!

В итоге: недостатки перевесили все плюсы мышки как измерительного прибора. Поэтому проект закрыл и выкладываю для дорогих моих читателей на GeekTimes.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *