Гироскопическая мышь MF100. Переделка шаг за шагом

Android мини-компьютер является современным решением для реанимации устаревшего телевизора. Приобретая маленькую коробочку с начинкой как у настоящего компьютера пользователь получает массу возможностей на телевизоре. Главная цель Android мини-пк - это полноценный доступ к сети Интернет. При покупке данного устройства всегда возникает вопрос, а чем же управлять? Как вообще происходит управление интерфейсом тв-приставки на телевизоре? В большинстве случаев в комплект поставки входит пульт дистанционного управления, но данное решение не позволяет управлять тв-приставкой в полной мере. Учитывая наличие у мини-пк USB разъемов можно подключить обычную мышку, но тогда нужна рабочая поверхность.

Для чего нужна мышь с гироскопом?

Идеальным решением являются мышки с гироскопом, их еще называют аэро-пульт или аэро-мышь. Управление курсором мышки происходит за счет перемещения устройства в пространстве. Мы просто водим кистью вверх-вниз, а повторяет наши движения. Данное решение позволяет управлять Android медиаплеером наиболее эффективно и комфортно. На рынке представлено огромное количество пультов с гироскопом и мы поговорим о самых популярных моделях.

Аэро-мышь Tooploo T2 - самый бюджетный манипулятор для Android TV, представленный на рынке. Средняя стоимость составляет от 20 до 25 долларов. Конструкция мышки простая, с минимальным количеством кнопок, корпус глянцевый и быстро затирается. Питание мышки происходит от двух батареек ААА. Пульт совместим с Android, Windows, Linux, Mac OS.

Atlas Air Mouse - уникальный в своем роде гироскопический пульт, оснащенный микрофоном. Стоимость такого решения составляет 30-35 долларов. Данный пульт выполнен из качественного пластика, имеет привлекательный дизайн, компактные размеры, а также расширенный функционал. Встроенный микрофон позволяет общаться через сервис , а также использовать голосовой поиск. Дополнительно аэро-мышь Atlas имеет кнопку переключения в игровой режим. В качестве источника питания выступает аккумулятор 750 мАч. Пульт Atlas совместим с Android, Windows, Linux, Mac OS.

Measy RC9 - качественная аэро-мышь, выполненная в минималистическом стиле. Компактная, с минимальным количеством клавиш мышка, имеет стоимость 25-27 долларов. В отличии от T2 мышь Measy очень компактная, а в качестве источника питания выступает литиевая батарея 3.7V. Вес манипулятора составляет всего 40 грамм. Пульт Measy RC9 совместим с Android, Windows, Linux, Mac OS.

Если мы обратим внимание на ценовой диапазон выбранных моделей, то разница в стоимости не высокая. Стоит отметить, что пульт Atlas будет наиболее интересен для пользователей за счет своего функционала. Ведь не каждый Android медиаплеер оснащен микрофоном или имеет возможность подключения, поэтому Atlas Air Mouse станет просто находкой пользователей желающих совершать интернет звонки через Android мини-пк.

Программа (скетч), которую нужно загрузить в Arduino, выглядит вот так:

#include "I2Cdev.h" #include "MPU6050_6Axis_MotionApps20.h" #include "Wire.h" #include MPU6050 mpu; uint16_t packetSize; // expected DMP packet size (default is 42 bytes) uint16_t fifoCount; // count of all bytes currently in FIFO uint8_t fifoBuffer; // FIFO storage buffer // orientation/motion vars Quaternion q; // quaternion container VectorFloat gravity; // gravity vector float ypr; // yaw/pitch/roll container and gravity vector // для мыши float old_mx=-200; float old_my=-200; float dx,dy,mx,my; // ================================================================ // === INITIAL SETUP === // ================================================================ void setup() { Wire.begin(); Wire.setClock(400000); // 400kHz I2C clock. Comment this line if having compilation difficulties mpu.initialize(); mpu.dmpInitialize(); mpu.setDMPEnabled(true); packetSize = mpu.dmpGetFIFOPacketSize(); } // ================================================================ // === MAIN PROGRAM LOOP === // ================================================================ void loop() { // wait for MPU interrupt or extra packet(s) available while (fifoCount < packetSize) { fifoCount = mpu.getFIFOCount(); } // check for overflow (this should never happen unless our code is too inefficient) if (fifoCount >= 1024) { // reset so we can continue cleanly mpu.resetFIFO(); fifoCount = mpu.getFIFOCount(); // otherwise, check for DMP data ready interrupt (this should happen frequently) } else { // wait for correct available data length, should be a VERY short wait while (fifoCount < packetSize) fifoCount = mpu.getFIFOCount(); // read a packet from FIFO mpu.getFIFOBytes(fifoBuffer, packetSize); // track FIFO count here in case there is > 1 packet available // (this lets us immediately read more without waiting for an interrupt) fifoCount -= packetSize; // двигать мышь mpu.dmpGetQuaternion(&q, fifoBuffer); mpu.dmpGetGravity(&gravity, &q); mpu.dmpGetYawPitchRoll(ypr, &q, &gravity); // ypr - ось X, ypr - ось Y, Y - инвертировать mx=ypr * 180/M_PI; my=ypr * 180/M_PI; if(old_mx>-200) // это не первый запуск { if((old_mx<-100)&&(mx>100)) { dx=(-180-old_mx)+(mx-180); } else if((old_mx>100)&&(mx<-100)) { dx=(180-old_mx)+(180+mx); } else { dx=mx-old_mx; } dy=my-old_my; Mouse.move(2000/60*dx, -1000/30*dy); } old_mx=mx; old_my=my; } }

Для компиляции скетча также необходимо скачать библиотеки I2Cdev и MPU6050. Взять их можно вот отсюда: github.com/jrowberg/i2cdevlib/tree/master/Arduino
После загрузки скетча собранное устройство действует так же, как и пульт из статьи. То есть вы меняете ориентацию устройства в пространстве, а курсор мыши на экране двигается.

Конечно, такие средства существуют. Прежде всего, это программы, которые используют обычную веб-камеру для контроля за поворотом головы и некоторыми другими действиями, такими как моргания глаз и движения губ (читайте про них ниже, в разделе "А стоит ли овчинка выделки? ").


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

Различные фирмы, которые ранее производили устройства такого типа, постепенно собрались под крылом компании NaturalPoint . И теперь у них на сайте можно найти устройства, которые раньше конкурировали, а теперь просто делят разные сегменты рынка. Так, например, вариант попроще (TrackIR) они предлагают для геймеров, а подороже (SmartNav) - для работы за компьютером.

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

Пришлось поставить ряд экспериментов - зажимать одну из кнопок на клавиатуре и оставлять пульт в бездействии, надеясь, что нажатая кнопка не даст пульту заснуть. Причём зажимать кнопку приходилось прищепкой, а не рукой, так как рука могла передавать пульту небольшие движения. Кнопки же можно было нажимать только те, которые не используются в Windows.
Некоторые пульты победить не удалось, но в конце концов был найден пульт Upvel UM-510KB , который гарантированно не засыпает при удержании пары кнопок.

Если вскрыть этот пульт, то внутри можно найти микроконтроллер STM8L-151 от STMicroelectronics (1), трёхосевой гироскоп Invensense MPU-3050c (2) и ещё какой-то безымянный чип (3) для общения с USB- адаптером на 2.4 ГГц. Также виден инфракрасный светодиод. Он нужен, если вы хотите использовать пульт для переключения программ и регулировки громкости на телевизоре. При общении с компьютером светодиод не используется, поэтому его можно смело загораживать.

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

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

Переделка шаг за шагом

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

Итак, вскрываем пульт. Ковыряем отверткой, пока он не откроется, немного повредив корпус. Затем, вынимаем плату и замыкаем ему две кнопки (см. фото). Можно паяльником, зачистив плату, но я просто приклеил армированным скотчем кусочки фольги от конфет.

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

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


Как удерживать пульт на голове? Можно просто положить пульт на голову и сверху надеть шерстяную шапочку. Так я поначалу и делал. Но для долговременного использования можно пришить кармашек к какому-нибудь головному убору.


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

А стоит ли овчинка выделки?

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

Попробовал же я такие программы (все бесплатные):

Лично мне больше всего понравилась программа eViaCam , но это - чисто субъективное, поверхностное мнение, основанное на недолгом использовании с настройками по умолчанию, и с той веб-камерой, которая есть у меня. Вам, возможно, понравится совсем другая программа.


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

Показывается два квадратика: красный - куда нужно вести мышь, и зелёный - то место, куда переместится красный на следующем шаге.
Программа и её исходный код доступны на https://github.com/MastaLomaster/CStest

В результате были получены следующие времена перемещения курсора по 25 квадратикам 40x40 пикселов (косвенно более высокая скорость свидетельствует также о большей точности позиционирования):

Скорость набора текста на виртуальной клавиатуре менее показательна. Дело в том, что клавиатура требует, чтобы курсор мыши «зависал» над клавишей в течение продолжительного времени (около секунды). Иначе возможны ложные нажатия. Тем не менее, привожу данные и по набору текста. Я набирал текст «Управление компьютером без помощи рук» и это заняло у меня:

Camera Mouse - мне понравилась меньше всего, из-за того, что курсор у неё не стоит на месте, а дёргается. Но скорость набора текста в ней получилась неплохая.

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

Стоит ли всё-таки выбрасывать около тысячи рублей за пульт, блок питания, провода, да ещё время терять, если есть бесплатные программы, с которыми тоже можно работать, да ещё к голове ничего цеплять не нужно?

На мой взгляд, использование пульта даёт следующие преимущества:

  • Быстрая реакция курсора. вплоть до того, что можно играть в динамичные игры
  • Предсказуемость . То есть повернув голову на привычный угол, вы увидите, что курсор переместился на привычное место
  • Независимость от условий освещения и вообще от того, что в кадре появились новые лица/предметы.

Ну а решать, конечно, вам.

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

Какие виды компьютерных мышей существуют ?

Видов как раз не так уж много. Вот они:

  • Механические или шариковые (уже практически не используются);
  • Оптические;
  • Лазерные;
  • Трекбол-мыши.
  • Индукционные;
  • Гироскопические.

Механические или шариковые мышки

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

На вес она была тяжеловата и без коврика никак не хотела работать. И позиционирование у неё желало лучшего. Особенно это было заметно в графических программах и играх. И чистить её приходилось очень часто. Что только не наворачивалось под этот шарик? А уж если дома ещё живут животные, то этот процесс повторялся как минимум раз в неделю.

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

Оптическая светодиодная мышь

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

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

Оптическая лазерная мышь

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

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

Трекбол-мышь

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

Индукционные мыши

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

Гироскопические мыши

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

Вот такие виды компьютерных мышей пока существуют на наших рынках.

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

У любого человека, работающего за монитором много часов кряду, нет-нет да возникает желание откинуться в кресле, отодвинуться от стола, протянуть затёкшие ноги. Но дела не отпускают. «Клаву», положим, ещё можно пристроить на коленях. Но коврик для мыши — уже едва ли. Однако выход есть.

Американская компания Gyration выпускает компьютерную мышь, способную работать не только без коврика или стола, но вообще без какой-либо опоры — прямо в воздухе.

Мышка Ultra GT Cordless Optical Mouse оснащена двухосным гироскопическим датчиком собственной разработки фирмы Gyration.

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

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

Отпустив этот курок, можно почесаться, нажать пару клавиш на клавиатуре или сделать глоток кофе.

Заядлые геймеры должны оценить гироскопическую мышь по достоинству — с ней никогда не кончится коврик (фото с сайта gyration.com).

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

Те, кто опробовал новинку в деле, говорят, что в таком случае необходима некоторая тренировка, зато потом работа в Интернете ускоряется вдвое.

Клавиатура Gyration с родной мышкой, установленной на зарядном устройстве. Единый стиль тоже важен (фото с сайта gyration.com).

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

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

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

Самое время сказать, что связь с компьютером у этой мыши осуществляется по радиоканалу.

Приёмник «втыкается» в порт USB. Рабочая дистанция — 9,15 метра. Есть и модификация «Professional» с дальностью радиосвязи в 30,5 метров.

Мышь не требует специальных драйверов и дружит как с PC, так и с Mac. И так же, как и с обычной мышью, чувствительность гиромышки можно настраивать с «панели управления рабочего стола».

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

Добавим, что компания продаёт эту удивительную машинку за $80, работает мышь от никель-металлогидридных аккумуляторов, при этом предусмотрено питание и от стандартных батареек ААА.

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

Создав новую технологию, компания не остановилась на «мышах».

Тут же появился пульт Media Center Remote , который может управлять мультимедийным комплексом, построенным на базе PC.

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

На этот раз сенсор движения руки использован, чтобы сократить количество «кликов» при управлении развлекательной техникой.

Достаточно повести кисть руки вправо, чтобы переключить канал телевизионного тюнера, или махнуть вниз, чтобы запустить DVD.