Наука и мышь
Архив"Электрон неисчерпаем...", а можно ли исчерпать мышь? Попробуем. Манипулятор типа "мышь" (в дальнейшем, просто мышь) - классическое устройство ввода информации в РС. Практически любое действие в любой программе может быть выполнено с помощью мыши. То есть любая информация может быть введена оператором в компьютер посредством мыши. Вопрос лишь в том, как информацию кодировать.
"Электрон неисчерпаем...", а можно ли исчерпать мышь? Попробуем. Манипулятор типа "мышь" (в дальнейшем, просто мышь) - классическое устройство ввода информации в РС. Практически любое действие в любой программе может быть выполнено с помощью мыши. То есть любая информация может быть введена оператором в компьютер посредством мыши. Вопрос лишь в том, как информацию кодировать.
Алексей Климов - аспирант Орловского государственного технического университета. Увлечения: фотография, Photoshop и его подключаемые модули (plugins). Выступает в защиту белых мышей, предлагает заменить их мышами компьютерными во всех научных экспериментах и опытах.
Например, для ввода текста можно программно реализовать клавиатуру на экране и тыкать в нее курсором, а можно (не видел ни разу) заставить оператора выписывать мышью буквы с последующим распознаванием. Дико, но можно. А мыши все равно. И в том и в другом случае, физически, передача информации осуществляется мышью одинаково - модуляцией светового потока посредством вращения колесиков с прорезями, установленных на пути светового луча между свето- и фотодиодами. Воспользуемся этим "безразличием" мыши.
Предлагается:
1) Устройство для измерения и регистрации на РС медленно меняющегося положительного напряжения в пределах от 1 до 10 вольт с точностью +2,5%, использующее функции и интерфейс стандартного манипулятора типа "мышь" посредством замещения в схеме мыши сдвоенного фотодиода (рис. 1).
Рис. 1.
Измеритель медленно меняющегося положительного напряжения, интегрируемый в мышь. Электрическая схема разработана студентом ОрелГТУ Евгением Бологовым.
2) Концепция биометрического устройства для измерения пульса, давления, проводимости кожи и контактной температуры ладони оператора с целью диагностики его психофизического состояния программными средствами.
Нюансы биометрического устройства раскрывать не буду, работа над ним еще не закончена. Эта публикация - первая "засветка" проекта. Скажу только, что ядром и основой такого устройства служит схема из пункта первого. Прибор, собранный по данной схеме, в дальнейшем будем называть измерителем.
Рис. 2.
Сдвоенный фотодиод - датчик перемещения мыши. Светодиод на переднем плане условно не показан.
Работа измерителя основана на преобразовании "напряжение - частота". Для объяснения принципа действия измерителя вспомним, как работает сама мышь (рис. 2). При движении мыши вращается шарик, который механически передает вращение колесикам с прорезями, расположенным между фото- и светодиодами на плате мыши. Наличие прорезей в непрозрачных колесиках позволяет, при их вращении, модулировать освещенность сдвоенного фотодиода световым потоком от соответствующего светодиода по принципу "свет - тень", что приводит к периодическому изменению сопротивления каждого из двух фотоэлементов (А и В), входящих в сдвоенный фотодиод. Это длинное объяснение можно представить простым графиком изменения силы тока, протекающего через фотоэлементы при их периодической засветке (рис. 3). Здесь существенно наличие смещения по времени сигналов на каналах А и В (фазовый сдвиг). При отсутствии фазового сдвига схема мыши не сможет выбрать направление движения курсора.
Рис. 3.
Фазовый сдвиг импульсов тока в цепях А и В определяет направление движения курсора.
Таким образом, перемещение курсора по каждой из координат осуществляется мышью на основании следующей информации:
Эти параметры и использует измеритель для передачи информации на РС.
Заменим один из сдвоенных фотодиодов нашим измерителем. Чтобы мышь об этом "не догадалась", измеритель должен как можно точнее имитировать работу замещенного фотодиода. Параметры элементов схемы (рис. 1) выбирались именно из этих соображений.
Рис. 4.
Цепь питания измерителя. Найдите на плате мыши контакты, соответствующие указанным гнездам разъема и подсоединяйтесь.
При этом мыши придется поделиться с измерителем питанием (разъем показан на рис. 4). Чтобы измерителю "досталось больше", мышиные аппетиты можно уменьшить (на 5-10 мА), выпаяв все светодиоды. Возможно, какая-нибудь продвинутая схема мыши не потерпит размыкания светодиодной цепи, но большинству дешевых моделей это только на пользу.
Схема измерителя использует две кнопки мыши для реализации минимального самотестирования (кнопки полностью отсоединяются от схемы мыши, но физически остаются на своих местах - это удобно при настройке измерителя).
Решившись собрать измеритель, используйте мышь, хорошо зарекомендовавшую себя "на основной работе". Например, Mitsumi прощает даже грубые ошибки (например, короткое замыкание) при монтаже и отладке измерителя.
После интеграции измерителя в корпус мыши и подключения мыши к компьютеру произойдет следующее. С позиции замещенного измерителем сдвоенного фотодиода на микросхему мыши будут поступать сигналы, частота которых зависит от напряжения на входе измерителя. То есть чем выше входное напряжение на измерителе, тем быстрее бежит курсор по экрану. Следует отметить, что некоторые модели имеют нелинейную зависимость между скоростью перемещения мыши по коврику и скоростью перемещения курсора. Это должна быть учтено при написании программы для обратного преобразования "скорость курсора - значение напряжения".
Также советую написать отдельную программу для калибровки измерителя (рис. 5). Калибровка осуществляется просто:
1) С регулируемого источника напряжения на вход измерителя подается напряжение амплитудой от 1 до 10 вольт с шагом, например, 0,2 вольта.
2) Программа-калибровщик для каждого значения поданного на измеритель напряжения отсчитывает три (или десять - для большей точности) шагов курсора по экрану и замеряет время, затраченное на эти шаги. По полученным данным программа находит период импульсов в цепи сдвоенного фотодиода мыши, соответствующий поданному напряжению.
3) Строится передаточная функция "напряжение - частота" (рис. 5) и сохраняется в текстовом формате.
Рис. 5.
Передаточная функция "напряжение на входе измерителя - частота перемещения курсора по экрану", построенная опытным путем.
Рабочая программа учитывает нелинейность передаточной функции конкретной мыши, считывая значения из текстового файла. Такой подход позволяет использовать единую программу с любыми моделями мышей.
Измеритель имеет аппаратную функцию проверки точности. При нажатии кнопки К1 (см. рис. 1) на вход измерителя подается напряжение 6,6 вольта из цепи питания мыши, при нажатии кнопки К2 - 3,3 вольта.
Подводя итог сказанному, отметим преимущества предлагаемого решения:
Наилучшей областью применения измерителя можно считать студенческо-аспирантские научно-исследовательские и учебные лабораторные работы. Вместе с тем измеритель может оказаться полезным и в промышленном производстве, например для регистрации показаний различных датчиков.
Слабой стороной проекта можно считать сам факт изменения схемы мыши без ведома разработчика. Есть способ лучше - гальваническая развязка измерителя со схемой мыши.
Рис. 6.
Фотодиоды - глаза мыши. Покажите мыши мир.
Возьмем новую мышь, добавим к ее схеме пару фотодиодов и переключатель для их подключения вместо штатного сдвоенного фотодиода (рис. 6). Расположим добавленные фотодиоды на нижней поверхности корпуса (рис. 7). Теперь мы можем подавать на них любую информацию извне, используя понятный мыши язык световой морзянки (рис. 3).
Рис. 7.
Особой мыши - особый коврик. Полная гальваническая развязка схемы измерителя и схемы мыши - полная безопасность вашего компьютера. Геркон "не забудет" переключить мышь в режим измерителя, когда свето- и фотодиоды будут взаимодосягаемы.
Например, расположив в коврике мыши два светодиода (понятно, на том же расстоянии друг от друга, что и фотодиоды на "брюхе" мыши) и устройство для измерения пульса, давления, температуры и других биометрических параметров человека, мы получим мечту участкового терапевта. Измеренные параметры перекодируются в последовательность световых импульсов светодиодов и поступают на мышь (при этом мышь должна находиться строго над ними, как показано на рис. 7) и далее на РС.
Опытный образец устройства реализован в Орловском государственном техническом университете двумя энтузиастами, один из которых - автор статьи, за две недели (биометрический измеритель с ЖК-дисплеем - стандартный, покупной).
В заключение следует сказать о некоторых неочевидных нюансах проектирования подобных устройств на основе мыши...
Велико искушение использовать в мыши оба канала ввода информации одновременно - по горизонтали и по вертикали. Не надо! В нашем случае информацию несет скорость перемещения курсора (частота мерцания светодиодов), а мышь рассчитана на передачу позиции курсора (то есть числа вспышек светодиодов). При одновременном вводе информации по обеим координатам многие мыши чередуют их обработку. Следствием этого является зависимость мгновенной скорости курсора по одной из координат от скорости по другой координате.
Пропускную способность канала можно расширить, используя для передачи информации "направление движения курсора". Например, при измерении пульса "курсор движется вправо", при измерении давления - "влево". Программа легко отслеживает изменение "направления движения курсора" и автоматически переходит в нужный режим распознавания.
Геркон и магнит (рис. 7) - барство, но для презентации вашей работы - детали наиважнейшие: при установке мыши на "позицию передачи информации" геркон автоматически переводит мышь на внешние фотодиоды, то есть в режим измерителя.
"Наука начинается там, где начинаются измерения" - это классика. "Наук заканчивается там, где начинается кризис" - это современность. Очевидно, истина лежит где-то посередине. Парадоксально, но чаще всего эта середина достигается методами крайними. Либо крайне антикризисными, либо крайне антинаучными. Мы попытались, избегая крайностей, объединить высокие технологии, смелые цели и скромные средства.