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

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

Кто тебя выдумал…

Привычные для нас сегодня оптические мыши ведут свою родословную с 1999 года, когда в массовой продаже появились первые экземпляры таких манипуляторов от Microsoft, а через некоторое время и от других производителей. До появления этих мышей, да и еще долго после этого, большинство массовых компьютерных «грызунов» были оптомеханическими (перемещения манипулятора отслеживались оптической системой, связанной с механической частью - двумя роликами, отвечавшими за отслеживание перемещения мыши вдоль осей × и Y; эти ролики, в свою очередь, вращались от шарика, перекатывающегося при перемещении мыши пользователем). Хотя встречались и чисто оптические модели мышей, требовавшие для своей работы специального коврика. Впрочем, такие устройства встречались не часто, да и сама идея развития подобных манипуляторов постепенно сошла на нет.

«Вид» знакомых нам нынче массовых оптических мышек, базирующихся на общих принципах работы, был «выведен» в исследовательских лабораториях всемирно известной корпорации Hewlett-Packard. Точнее, в ее подразделении Agilent Technologies, которое только сравнительно недавно полностью выделилось в структуре корпорации НР в отдельную компанию. На сегодняшний день Agilent Technologies, Inc. - монополист на рынке оптических сенсоров для мышей, никакие другие компании такие сенсоры не разрабатывают, кто бы и что не говорил вам об эксклюзивных технологиях IntelliEye или MX Optical Engine . Впрочем, предприимчивые китайцы уже научились «клонировать» сенсоры Agilent Technologies, поэтому, покупая недорогую оптическую мышь, вы вполне можете стать владельцем «левого» сенсора.

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

Как «видят» компьютерные мыши

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

Итак, «зрение» оптическая компьютерная мышь получает благодаря следующему процессу. С помощью светодиода, и системы фокусирующих его свет линз, под мышью подсвечивается участок поверхности. Отраженный от этой поверхности свет, в свою очередь, собирается другой линзой и попадает на приемный сенсор микросхемы - процессора обработки изображений. Этот чип, в свою очередь, делает снимки поверхности под мышью с высокой частотой (кГц). Причем микросхема (назовем ее оптический сенсор) не только делает снимки, но сама же их и обрабатывает, так как содержит две ключевых части: систему получения изображения Image Acquisition System (IAS) и интегрированный DSP процессор обработки снимков.

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

Если мы посмотрим на блок-схему одного из оптических сенсоров, то увидим, что микросхема состоит из нескольких блоков, а именно:

  • основной блок, это, конечно же, Image Processor - процессор обработки изображений (DSP) со встроенным приемником светового сигнала (IAS);
  • Voltage Regulator And Power Control - блок регулировки вольтажа и контроля энергопотребления (в этот блок подается питание и к нему же подсоединен дополнительный внешний фильтр напряжения);
  • Oscillator - на этот блок чипа подается внешний сигнал с задающего кварцевого генератора, частота входящего сигнала порядка пары десятков МГц;
  • Led Cоntrоl - это блок управления светодиодом, с помощью которого подсвечивается поверхность под мышью;
  • Serial Port - блок передающий данные о направлении перемещения мыши вовне микросхемы.

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

Нужно уточнить, что информацию о перемещении мыши микросхема оптического сенсора передает через Serial Port не напрямую в компьютер. Данные поступают к еще одной микросхеме-контроллеру, установленной в мыши. Эта вторая «главная» микросхема в устройстве отвечает за реакцию на нажатие кнопок мыши, вращение колеса прокрутки и т.д. Данный чип, в том числе, уже непосредственно передает в ПК информацию о направлении перемещения мыши, конвертируя данные, поступающие с оптического сенсора, в передаваемые по интерфейсам PS/2 или USB сигналы. А уже компьютер, используя драйвер мыши, на основании поступившей по этим интерфейсам информации, перемещает курсор-указатель по экрану монитора.

Именно по причине наличия этой «второй» микросхемы-контроллера, точнее благодаря разным типам таких микросхем, довольно заметно отличались между собой уже первые модели оптических мышей. Если о дорогих устройствах от Microsoft и Logitech слишком плохо отозваться я не могу (хотя и они не были вовсе «безгрешны»), то масса появившихся вслед за ними недорогих манипуляторов вела себя не вполне адекватно. При движении этих мышей по обычным коврикам курсоры на экране совершали странные кульбиты, скакали чуть ли не на пол Рабочего стола, а иногда… иногда они даже отправлялись в самостоятельное путешествие по экрану, когда пользователь совершенно не трогал мышь. Доходило и до того, что мышь могла запросто выводить компьютер из режима ожидания, ошибочно регистрируя перемещение, когда манипулятор на самом деле никто не трогал.

Кстати, если вы до сих пор боретесь с подобной проблемой, то она решается одним махом вот так: выбираем Мой Компьютер > Свойства > Оборудование > Диспетчер устройств > выбираем установленную мышь > заходим в ее «Свойства» > в появившемся окне переходим на закладку «Управление электропитанием» и снимаем галочку с пункта «Разрешить устройству вывод компьютера из ждущего режима» (рис. 4). После этого мышь уже не сможет вывести компьютер из режима ожидания ни под каким предлогом, даже если вы будете пинать ее ногами:)

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

Однако, мы несколько отвлеклись от темы. Возвращаемся. В целом система оптического слежения мышей, помимо микросхемы-сенсора, включает еще несколько базовых элементов. Конструкция включает держатель (Clip) в который устанавливаются светодиод (LED) и непосредственно сама микросхема сенсора (Sensor). Эта система элементов крепится на печатную плату (PCB), между которой и нижней поверхностью мыши (Base Plate) закрепляется пластиковый элемент (Lens), содержащий две линзы (о назначении которых было написано выше).

В собранном виде оптический элемент слежения выглядит как показано выше. Схема работы оптики этой системы представлена ниже.

Оптимальное расстояние от элемента Lens до отражающей поверхности под мышью должно попадать в диапазон от 2.3 до 2.5 мм. Это рекомендации производителя сенсоров. Вот вам и первая причина, почему оптические мыши плохо себя чувствуют «ползая» по оргстеклу на столе, всевозможным «полупрозрачным» коврикам и т. п. И не стоит клеить на оптические мыши «толстые» ножки, когда отваливаются или стираются старые. Мышь из-за чрезмерного «возвышения» над поверхностью может впадать в состояние ступора, когда «расшевелить» курсор после пребывания мыши в состоянии покоя становится довольно проблематично. Это не теоретические измышления, это личный опыт:)

Кстати, о проблеме долговечности оптических мышей. Помниться, некоторые их производители утверждали что, дескать «они будут служить вечно». Да надежность оптической системы слежения высока, она не идет ни в какое сравнение с оптомеханической. В то же время в оптических мышах остается много чисто механических элементов, подверженных износу точно так же, как и при господстве старой доброй «оптомеханики». Например, у моей старой оптической мыши стерлись и поотваливались ножки, сломалось колесо прокрутки (дважды, в последний раз безвозвратно:(), перетерся провод в соединительном кабеле, с манипулятора слезло покрытие корпуса… зато вот оптический сенсор нормально работает, как ни в чем не бывало. Исходя из этого, мы смело можем констатировать, что слухи о якобы впечатляющей долговечности оптических мышей не нашли своего подтверждения на практике. Да и зачем, скажите на милость, оптическим мышам «жить» слишком долго? Ведь на рынке постоянно появляются новые, более совершенные модели, созданные на новой элементной базе. Они заведомо совершеннее и удобнее в использовании. Прогресс, знаете ли, штука непрерывная. Каким он был в области эволюции интересующих нас оптических сенсоров, давайте сейчас и посмотрим.

Из истории мышиного зрения

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

Но давайте обо всем по порядку. Первыми массово выпускаемыми оптическими сенсорами стали микросхемы HDNS-2000 (рис. 8). Эти сенсоры имели разрешение 400 cpi (counts per inch), то бишь точек (пикселей) на дюйм, и были рассчитаны на максимальную скорость перемещения мыши в 12 дюймов/с (около 30 см/с) при частоте осуществления снимков оптическим сенсором в 1500 кадров за секунду. Допустимое (с сохранением стабильной работы сенсора) ускорение при перемещении мыши «в рывке» для чипа HDNS-2000 - не более 0.15 g (примерно 1.5 м/с 2).

Затем на рынке появились микросхемы оптических сенсоров ADNS-2610 и ADNS-2620 . Оптический сенсор ADNS-2620 уже поддерживал программируемую частоту «съемки» поверхности под мышью, с частотой в 1500 либо 2300 снимков/с. Каждый снимок делался с разрешением 18х18 пикселей. Для сенсора максимальная рабочая скорость перемещения по прежнему была ограничена 12 дюймами в секунду, зато ограничение по допустимому ускорению возросло до 0.25 g, при частоте «фотографирования» поверхности в 1500 кадров/с. Данный чип (ADNS-2620) также имел всего 8 ножек, что позволило существенно сократить его размеры по сравнению с микросхемой ADNS-2610 (16 контактов), внешне похожей на HDNS-2000. В Agilent Technologies, Inc. задались целью «минимизировать» свои микросхемы, желая сделать последние компактнее, экономнее в энергопотреблении, а потому и удобнее для установки в «мобильные» и беспроводные манипуляторы.

Микросхема ADNS-2610 хотя и являлась «большим» аналогом 2620-й, но была лишена поддержки «продвинутого» режима 2300 снимков/с. Кроме того, этот вариант требовал 5В питания, тогда как чип ADNS-2620 обходился всего 3.3 В.

Вышедший вскоре чип ADNS-2051 представлял собой гораздо более мощное решение, чем микросхемы HDNS-2000 или ADNS-2610, хотя внешне (упаковкой) был также на них похож. Этот сенсор уже позволял программируемо управлять «разрешением» оптического датчика, изменяя таковое с 400 до 800 сpi. Вариант микросхемы также допускал регулировку частоты снимков поверхности, причем позволял менять ее в очень широком диапазоне: 500, 1000,1500, 2000 или 2300 снимков/с. А вот величина этих самых снимков составляла всего 16х16 пикселей. При 1500 снимках/с предельно допустимое ускорение мыши при «рывке» составляло по прежнему 0.15 g, максимально возможная скорость перемещения - 14 дюймов/с (т. е. 35.5 см/с). Данный чип был рассчитан на напряжение питания 5 В.

Сенсор ADNS-2030 разрабатывался для беспроводных устройств, а потому имел малое энергопотребление, требуя всего 3.3 В питания. Чип также поддерживал энергосберегающие функции, например функцию снижения потребления энергии при нахождении мыши в состоянии покоя (power conservation mode during times of no movement), переход в режим «сна», в том числе при подключении мыши по USB интерфейсу, и т.д.. Мышь, впрочем, могла работать и не в энергосберегающем режиме: значение «1» в бите Sleep одного из регистров чипа заставляло сенсор «всегда бодрствовать», а значение по умолчанию «0» соответствовало режиму работы микросхемы, когда по прошествии одной секунды, если мышь не перемещалась (точнее после получения 1500 совершенно одинаковых снимков поверхности) сенсор, напару с мышью, переходил в режим энергосбережения. Что касается остальных ключевых характеристик сенсора, то они не отличались от таковых у ADNS-2051: тот же 16-и контактный корпус, скорость перемещения до 14 дюймов/с при максимальном ускорении 0.15 g, программируемое разрешение 400 и 800 cpi соответственно, частоты осуществления снимков могли быть точно такими же, как и у вышерассмотренного варианта микросхемы.

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

В итоге и курсор на экране перемещался не так, как требовалось. Указатель на экране даже становился способен на экспромт:) - на непредсказуемые перемещения в произвольном направлении. Кроме того, легко догадаться, что при слишком быстром перемещении мыши сенсор мог вообще утратить всякую «связь» между несколькими последующими снимками поверхности. Что порождало еще одну проблему: курсор при слишком резком перемещении мыши либо дергался на одном месте, либо происходили вообще «сверхъестественные»:) явления, например, с быстрым вращением окружающего мира в игрушках. Было совершенно ясно, что для человеческой руки ограничений в 12-14 дюймов/с по предельной скорости перемещения мыши явно мало. Также не вызывало сомнений, что 0.24 с (почти четверть секунды), отведенные для разгона мыши от 0 до 35.5 см/с (14 дюймов/с - предельная скорость) это очень большой промежуток времени, человек способен двигать кистью значительно быстрее. И потому при резких движениях мыши в динамичных игровых приложениях с оптическим манипулятором может придтись несладко…

Понимали это и в Agilent Technologies. Разработчики осознавали, что характеристики сенсоров надо кардинально улучшать. В своих изысканиях они придерживались простой, но правильной аксиомы: чем больше снимков в секунду сделает сенсор, тем меньше вероятность того, что он потеряет «след» перемещения мыши во время совершения пользователем компьютера резких телодвижений:)

Хотя, как мы видим из вышеизложенного, оптические сенсоры и развивались, постоянно выпускались новые решения, однако развитие в этой области можно смело назвать «очень постепенным». По большому счету, кардинальных изменений в свойствах сенсоров так и не происходило. Но техническому прогрессу в любой области порой свойственны резкие скачки. Случился такой «прорыв» и в области создания оптических сенсоров для мышей. Появление оптического сенсора ADNS-3060 можно считать действительно революционным!

Лучший из

Оптический сенсор ADNS-3060 , по сравнению со своими «предками», обладает поистине впечатляющим набором характеристик. Использование этой микросхемы, упакованной в корпус с 20-ю контактами, обеспечивает оптическим мышам невиданные ранее возможности. Допустимая максимальная скорость перемещения манипулятора выросла до 40 дюймов/с (то есть почти в 3 раза!), т.е. достигла «знаковой» скорости в 1 м/с. Это уже очень хорошо - вряд ли хоть один пользователь двигает мышь с превышающей данное ограничение скоростью столь часто, чтобы постоянно чувствовать дискомфорт от использования оптического манипулятора, в том числе это касается и игровых приложений. Допустимое же ускорение выросло, страшно сказать, во сто раз (!), и достигло величины 15 g (почти 150 м/с 2). Теперь на разгон мыши с 0 до предельных 1 м/с пользователю отводится 7 сотых секунды - думаю, теперь очень немногие сумеют превзойти это ограничение, да и то, вероятно, в мечтах:) Программируемая скорость осуществления снимков поверхности оптическим сенсором у новой модели чипа превышает 6400 кадров/с, т.е. «бьет» предыдущий «рекорд» почти в три раза. Причем чип ADNS-3060 может сам осуществлять подстройку частоты следования снимков для достижения наиболее оптимальных параметров работы, в зависимости от поверхности, над которой перемещается мышь. «Разрешение» оптического сенсора по прежнему может составлять 400 или 800 cpi. Давайте на примере микросхемы ADNS-3060 рассмотрим общие принципы работы именно чипов оптических сенсоров.

Общая схема анализа перемещений мыши не изменилась по сравнению с более ранними моделями - полученные блоком IAS сенсора микроснимки поверхности под мышью обрабатываются затем интегрированным в этой же микросхеме DSP (процессором), который определяет направление и дистанцию перемещения манипулятора. DSP вычисляет относительные величины смещения по координатам × и Y, относительно исходной позиции мыши. Затем внешняя микросхема контролера мыши (для чего он нужен, мы говорили ранее) считывает информацию о перемещении манипулятора с последовательного порта микросхемы оптического сенсора. Затем уже этот внешний контроллер транслирует полученные данные о направлении и скорости перемещения мыши в передаваемые по стандартным интерфейсам PS/2 или USB сигналы, которые уже от него поступают к компьютеру.

Но вникнем чуть глубже в особенности работы сенсора. Блок-схема чипа ADNS-3060 представлена выше. Как видим, принципиально его структура не изменилась, по сравнению с далекими «предками». 3.3 В питание к сенсору поступает через блок Voltage Regulator And Power Control, на этот же блок возложена функции фильтрации напряжения, для чего используется подключение к внешнему конденсатору. Поступающий с внешнего кварцевого резонатора в блок Oscillator сигнал(номинальная частота которого 24 МГц, для предыдущих моделей микросхем использовались более низкочастотные задающие генераторы) служит для синхронизации всех вычислительных процессов, протекающих внутри микросхемы оптического сенсора. Например, частота снимков оптического сенсора привязана к частоте этого внешнего генератора (кстати, на последний наложены не весьма жесткие ограничения по допустимым отклонениям от номинальной частоты - до +/- 1 МГц). В зависимости от значения, занесенного по определенному адресу (регистру) памяти чипа, возможны следующие рабочие частоты осуществления снимков сенсором ADNS-3060.

Значение регистра, шестнадцатеричное Десятичное значение Частота снимков сенсора, кадров/с
OE7E 3710 6469
12C0 4800 5000
1F40 8000 3000
2EE0 12000 2000
3E80 16000 1500
BB80 48000 500

Как нетрудно догадаться, исходя из данных в таблице, определение частоты снимков сенсора осуществляется по простой формуле: Частота кадров = (Задающая частота генератора (24 МГц)/Значение регистра отвечающего за частоту кадров).

Осуществляемые сенсором ADNS-3060 снимки поверхности (кадры) имеют разрешение 30х30 и представляют собой все ту же матрицу пикселей, цвет каждого из которых закодирован 8-ю битами, т.е. одним байтом (соответствует 256 градациям серого для каждого пикселя). Таким образом, каждый поступающий в DSP процессор кадр (фрейм) представляет собой последовательность из 900 байт данных. Но «хитрый» процессор не обрабатывает эти 900 байт кадра сразу по поступлении, он ждет, пока в соответствующем буфере (памяти) накопится 1536 байт сведений о пикселях (то есть добавится информация еще о 2/3 последующего кадра). И только после этого чип приступает к анализу информации о перемещении манипулятора, путем сравнения изменений в последовательных снимках поверхности.

С разрешением 400 или 800 пикселей на дюйм их осуществлять, указывается в бите RES регистров памяти микроконтроллера. Нулевое значение этого бита соответствует 400 cpi, а логическая единица в RES переводит сенсор в режим 800 cpi.

После того как интегрированный DSP процессор обработает данные снимков, он вычисляет относительные значения смещения манипулятора вдоль осей × и Y, занося конкретные данные об этом в память микросхемы ADNS-3060. В свою очередь микросхема внешнего контроллера (мыши) через Serial Port может «черпать» эти сведения из памяти оптического сенсора с частой примерно раз в миллисекунду. Заметьте, только внешний микроконтроллер может инициализировать передачу таких данных, сам оптический сенсор никогда не инициирует такую передачу. Поэтому вопрос оперативности (частоты) слежения за перемещением мыши во многом лежит на «плечах» микросхемы внешнего контроллера. Данные от оптического сенсора передаются пакетами по 56 бит.

Ну а блок Led Cотtrоl, которым оборудован сенсор, ответственен за управление диодом подсветки - путем изменения значения бита 6 (LED_MODE) по адресу 0x0a микропроцессор оптосенсора может переводить светодиод в два режима работы: логический «0» соответствует состоянию «диод всегда включен», логическая «1» переводит диод в режим «включен только при необходимости». Это важно, скажем, при работе беспроводных мышей, так как позволяет экономить заряд их автономных источников питания. Кроме того, сам диод может иметь несколько режимов яркости свечения.

На этом, собственно, все с базовыми принципами работы оптического сенсора. Что еще можно добавить? Рекомендуемая рабочая температура микросхемы ADNS-3060, впрочем как и всех остальных чипов этого рода, - от 0 0С до +40 0С. Хотя сохранение рабочих свойств своих чипов Agilent Technologies гарантирует в диапазоне температур от -40 до +85 °С.

Лазерное будущее?

Недавно сеть наполнили хвалебные статьи о мыши Logitech MX1000 Laser Cordless Mouse, в которой для подсветки поверхности под мышью использовался инфракрасный лазер. Обещалась чуть ли не революция в сфере оптических мышей. Увы, лично попользовавшись этой мышью, я убедился, что революции не произошло. Но речь не об этом.

Я не разбирал мышь Logitech MX1000 (не имел возможности), но уверен, что за «новой революционной лазерной технологией» стоит наш старый знакомый - сенсор ADNS-3060. Ибо, по имеющимся у меня сведениям, характеристики сенсора этой мыши ничем не отличаются от таковых у, скажем, модели Logitech МХ510 . Вся «шумиха» возникла вокруг утверждения на сайте компании Logitech о том, что с помощью лазерной системы оптического слежения выявляется в двадцать раз (!) больше деталей, чем с помощью светодиодной технологии. На этой почве даже некоторые уважаемые сайты опубликовали фотографии неких поверхностей, дескать, как видят их обычные светодиодные и лазерные мыши:)

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

Давайте прикинем, для получения в 20 раз более детализированной картинки, нужно, извините за тавтологию, в двадцать раз больше деталей, передать которые могут только дополнительные пиксели изображения, и ни что иное. Известно, что Logitech MX 1000 Laser Cordless Mouse делает снимки 30х30 пикселей и имеет предельное разрешение 800 cpi. Следовательно, ни о каком двадцатикратном росте детализации снимков речи быть не может. Где же собака порылась:), и не являются ли подобные утверждения вообще голословными? Давайте попробуем разобраться, что послужило причиной появления подобного рода информации.

Как известно, лазер излучает узконаправленный (с малым расхождением) пучок света. Следовательно, освещенность поверхности под мышью при применении лазера гораздо лучше, чем при использовании светодиода. Лазер, работающий в инфракрасном диапазоне, был выбран, вероятно, чтобы не слепить глаза возможным все-таки отражением света из-под мыши в видимом спектре. То, что оптический сенсор нормально работает в инфракрасном диапазоне не должно удивлять - от красного диапазона спектра, в котором работает большинство светодиодных оптических мышей, до инфракрасного -«рукой подать», и вряд ли для сенсора переход на новый оптический диапазон был труден. Например, в манипуляторе Logitech MediaPlay используется светодиод, однако также дающий инфракрасную подсветку. Нынешние сенсоры без проблем работают даже с голубым светом (существуют манипуляторы и с такой подсветкой), так что спектр области освещения - для сенсоров не проблема. Так вот, благодаря более сильной освещенности поверхности под мышью, мы вправе предположить, что разница между местами, поглощающими излучение (темными) и отражающими лучи (светлыми) будет более значительной, чем при использовании обычного светодиода - т.е. изображение будет более контрастными.

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

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

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

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

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

Во-первых, миниатюрная мышь хорошо входит в гнездо под штатный клавишный включатель на стене;
- во-вторых, не требуется непосредственного контакта с включателем - достаточно провести пальцем (или иным предметом) на расстоянии 1,5 см от "красного глаза" подсветки;
- в третьих, устройство изначально обладает эффектом триггера: один раз провел пальцем - свет загорелся, провел второй раз - выключился;
- предусмотрен и индикатор реагирования - при проводе пальцем у "подсветки", она загорается в три раза ярче.

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


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


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


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


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


Фото 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 В


Рис. 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 дБ). Подключать сирену надо в соответствии с полярностью (красный провод - к "+" питания).

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

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

Читайте и пишите полезные

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

Подготовка и немного теории

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

Погуглив информацию по этой теме и разобрав старую PS/2 мышку Logitech, я увидел знакомую по статьям из интернета картину.

Не очень сложная схема «мышей первого поколения», оптический сенсор по центру и чип интерфейса PS/2 чуть выше. Попавшийся мне оптический сенсор является аналогом «популярных» моделей ADNS2610/ADNS2620/PAN3101. Я думаю, они и их аналоги были массово произведены на одном и том же китайском заводе, получив на выходе разную маркировку. Документация на него нашлась очень легко, даже вместе с различными примерами кода.

Документация гласит, что этот сенсор до 1500 раз в секунду получает изображение поверхности размером 18x18 точек (разрешение 400cpi), запоминает его и с помощью алгоритмов сравнения изображений вычисляет смещение по координатам Х и Y, относительно предыдущей позиции.

Реализация

Для «общения с сенсором» я использовал популярную вычислительную платформу Arduino, а припаяться решил прямо к ножкам чипа.

Подключаем 5V и GND к соответствующим выходам Arduino, а ножки сенсора SDIO и SCLK к цифровым пинам 8 и 9.

Для получения смещения по координатам нужно прочитать значение регистра чипа по адресу 0x02 (X) и 0x03 (Y), а для дампа картинки нужно, сначала записать значение 0x2A по адресу 0x08, а потом 18x18 раз его прочитать оттуда же. Это и будет последнее «запомненное» значение матрицы яркости изображения с оптического сенсора.

Как я реализовал это на Arduino можно посмотреть тут: http://pastebin.com/YpRGbzAS (всего ~100 строк кода).

А для получения и отображения картинки была написана программа на Processing.

Результат

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

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

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

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

Заключение

Хотя получаемое изображение и не очень большое, этого вполне хватило для решения моей задачи (сканнер штрих кода). Получилось очень даже экономично и быстро (мышка за ~100р + Arduino + пару дней на написание кода).

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

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

Этот датчик поделен на две части: принимающая (VD2) и передающая (VD1). Передающей является светодиод, который работает в ИК диапазоне, а принимающая часть, это пара фотодиодов в одном корпусе. Два - нужны для того, чтобы была возможность определять в какую сторону вращается колёсеко мышки (вверх или вниз).

R1 - даёт ток на светодиод. R2 нужен, чтобы преобразовывать ток фотоприёмника в напряжение (не использованная ножка VD2 является выходом второго фотоприёмника). Напряжение на этом сопротивлении изменяется от 1.5 Вольт (свет отсутствует) до 3.4 Вольт (свет присутствует). Нижний предел в 1.5 Вольта очень велик, для того чтобы переключать цифровую TTL схему, потому что порог переключения равен 0.8 Вольт. По этой причине применяется операционный усилок DA1 в режиме компаратора. Напряжение порога для него даёт резистивный делитель R3 и R4, которое составляет 2.5 Вольт. Можете считать, что с выхода DA1 поступает уже цифровой сигнал.

Чтобы уменьшить случайные наводки и ложные срабатывания, можете ввести гистерезис в уровни переключения DA1. Чтобы это сделать, нужно будет включить условно показанные резисторы R6 и R7 (R6 на разрыв между DA1 и R2). Чем ближе будет номинал R6 к R7 тем шире петля гестерезиса и тем дальше друг от друга будут уровни переключения из «0» в «1» и из «1» в «0». Таким образом при приведённых номиналах уровень переключения из «0» в «1» 2.8 Вольт, из «1» в «0» 2.1 Вольт.

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

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

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

Схема прибора достаточно проста и не требует особых пояснений. При освещении фотодатчика ФД1 транзисторы VT1, VT2 открываются, реле К1 срабатывает, включая или отключая нагрузку своими переключающими контактами (1,2 включают, 2,3 выключают). Резистором R1 устанавливается порог срабатывания схемы, светодиод HL1 служит для визуального контроля состояния реле.

Поскольку в качестве силового транзистора использован маломощный транзистор КТ3107, электромагнитное реле должно быть маломощным. К примеру, РЭС-55. Напряжение питания можно изменять в пределах от 9 до 18 В в зависимости от напряжения срабатывания выбранного реле.

Вместо указанных на схеме можно использовать транзисторы КТ315 и КТ361 (VT1 и VT2 соответственно) с любой буквой (лучше «Б»). Диод – любой выпрямительный кремниевый. Он защищает транзистор VT2 от напряжения самоиндукции обмотки реле при переключении. На месте HL1 может работать любой индикаторный светодиод (к примеру, от китайской игрушки).

Фототранзистор, как было сказано выше, взят из неисправной «мышки» (на фото в черном пластиковом защитном чехле). Таких микросборок, имеющих в своем составе каждая по два фототранзистора, в мыши тоже два, нам понадобится один. А точнее, половина.

Схема такой микросборки предельно проста и выглядит следующим образом.

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



В продолжение темы:
Windows

Часть вторая : "Важнейшие характеристики каждого семейства процессоров Intel Core i3/i5/i7. Какие из этих чипов представляют особый интерес" Введение Сначала мы приведём...

Новые статьи
/
Популярные