Делаем «графический планшет» из веб-камеры и старой мыши
Итак (для нетерпеливых видео результата в самом низу), идея сделать что-то вроде планшета для рисования из веб-камеры и старой мыши родилась (как у всех ненормальных) ночью:
lorimage:320×240
Идея заключалась в том, что бы написать программу (используя opencv как основу), отслеживающую веб-камерой объект опр. цвета, и переводящую его координаты, в координаты курсора мыши. На утро, принялся создавать свое «инновационное» устройство. Раскурочил старую мышь, отпаял правую кнопку:
lorimage:320×240
Припаял кнопку к длинным проводам, и замотал ее на простую шариковую ручку, к концу пришкварил небольшую пластиковую крышку розового цвета, которую собственно и будет отслеживать программа:
lorimage:320×240
Устройство готово, дело оставалось за малым — написать программу:
В результате получилось довольно забавно:
Видео процесса рисования «инновационным» устройством 😀
Прошивки, ремонт, лайфхаки. Все что касается техники и ПО.
Как сделать из компьютерной мышки ручку для рисования?!
- У меня уже достаточно давно созревала идея порисовать на ПК, да побаловаться в Photoshop и illustrator.
- Да, есть планшеты для этого, но покупать, аля, “попробовать и забыть” считаю нецелесообразным решением))
Поэтому решено было сделать из того что есть под рукой…А что у нас есть? Правильно – мышка)
А еще у нас есть маркер, в который можно попробовать засунуть ее внутренности.
- Как оказалось, не все так просто, в мышках деталей обычно больше, чем влезает в маркер.
- Однако если поискать – то можно найти ОДНОЧИПОВУЮ мышку, внутри обвеска – 2 электролита по 47 мкф/10В (один на питании, а второй на кнопке) + керамический конденсатор на 100нф.
- От ПК она подключается напрямую, все кнопки тоже идут напрямую.
- Чип этот уже в себе несет сенсор + контроллер.
- По размеру – DIP микросхема.
1) Как работает мышка?
Это КАМЕРА, которая “фотографирует” поверхность. Информация поступает в чип, он сравнивает этот “снимок” с предыдущим и определяет перемещение.
- Просто она снимает с высокой скоростью.
- Для того, чтобы “камера” видела, что она снимает – ее подсвечивает светодиод (обычно красный), МОЖНО поставить любой (другого цвета/размера). И запитать от чего угодно.
- Светодиод не синхронизирован, а изменение яркости сделано для экономии энегрии, защиты матрицы (камеры) и эстетики.
- Важный момент – оптика. Смысл простой – нужно чтобы “картинка” поверхности была резкой (иначе не сравнить), в общем, как и в любимой мыльнице.
2) Что нам нужно для того, чтобы повторить?
- Мышка с одним чипом (какая – есть выше). Цена – 3 доллара. Из нее мы возьмем чип, обвеску и линзу.
- Маркер (также выше). Он за 50 центов))
- Термоклей.
- Светодиод 3мм (цвет любой)
- Кнопка без фиксации (ниже есть фото). Будет аналогом левой кнопки мыши.
- Что нибудь для декора (ручка дл дизайна должна быть с дизайном;) )
3) Приступаем:
- Разобрать мышку (можно даже разломать корпус, он нам не нужен). Нам подойдет такая, она дешевая и одночиповая!
- Срисовать распиновку микросхемы (картинка ниже, это пример). Распиновку можно срисовать с платы.
- Срезать ненужную часть оптики и приклеить оставшееся термоклеем к сенсору:
- Разобрать маркер. Верхняя его часть нам не понадобится.
- Проделать дырку для кнопки
- Протянуть провод через маркер.
Кнопки можно взять такие, например:
- Навесной пайкой собрать МК + провода + для кнопки + обвеску. Должно поместиться в маркер.
- Залить термоклеем (лучше сначала проверить как работает)
Получится что то такое)) Драйвера не нужны, мышка все таки:
Нюансы:
Такая мышка не подойдет (детали не влезут в маркер просто):
- Рисовать удобнее, чем мышкой, но поворачивать вдоль оси нельзя (поэтому посмотрите заранее с какой стороны у Вас кнопка).
- Часто при наклоне перестает передвигать курсор. Решение – другая поверхность.
- Хорошо работает в illustrator, в Photoshop удобно выделять.
- Рисовать не очень удобно.
- Писать можно=)
Удачи)) Не прошло и года!) xD
Может вам будет интересно почитать:
5 комментариев “ Как сделать из компьютерной мышки ручку для рисования?! ”
Всё конечно здорова. Но как всё подключить между собой?
так же, как и в оригинале. мы не меняем схему мышки.
Если можно, сделайте видео по сборке этого.
увы, нет возможности (2 экземпляр не буду собирать)
Большое спасибо! Видео не надо всё и так просто))
У меня тоже само собой возникла такая идея потому как планшет дорого а дешёвый там мало строк ( и по отзывам перескоки между строк получается не ровности)
– Вопрос стоит мне покупать для “мыш маркера” вот эту мышку PrologiX PSM-02 USB Black/Yellow цена 56грн
Подойдёт ли она? И будет работать вовсе.
На этой неделе возможно куплю и сделаю, есть идея если использовать столик с подсветкой тогда светодиод может и не нужен.
И можно ли сделать объектив под углом для удобного рисования как у Genius Pen Mouse Silver USB, и ещё много идей…
CameraTablet — как сделать графический планшет при помощи веб-камеры
Здравствуйте, меня зовут Дмитрий. Здесь я хочу рассказать о том, почему меня не устраивает мышка, и как я пытаюсь ее заменить. Я разрабатываю CAE-программы для инженеров (расчет статики и динамики механических систем), треть рабочего времени я работаю как project manager, а в остальное время я — системный архитектор, разработчик и тестер в своем и в чужих проектах. У меня всегда открыты десять-двадцать окон, между которыми мне приходится постоянно прыгать:
- Visual Studio – собственно, софт, обычно три-четыре разных solution
- SourceSafe – версионирование.
- Outlook
- Skype
- Total Commander – файлы, файлы.
- Internet-Explorer – планирование софта, мониторинг продвижения по проекту, doxygen документация и т.д.
- Word, Excel – список задач, протоколы заседаний, требования к проекту, быстрое построение графиков и т.д.
- PowerPoint – презентации для менеджмента.
- Notepad++ — просмотр промежуточных результатов, конфиги, и т.д.
- CAE soft наш – тестовая и основная версия.
- CAE soft других фирм – для тестов
В итоге весь мой рабочий день – это постоянное метание между мышкой и клавиатурой:
- Мышка: открыть документ, пролистать,
- Клавиатура: написать три-четыре строчки.
- Мышка: нажать на кнопку, переместиться в другую программу, нажать на кнопку
- Клавиатура: в появившемся окне написать 2-3 значения.
- Мышка: отрыть другое окно. Нажать на кнопку. Выбрать пункт меню. Потом пункт в под-меню. Потом в под-под-меню. Клик! Новое окно!
Теперь рука не болит, но проблема с мышкой осталась. Не знаю, как вам, но мне не нравится это постоянные движения слева направо, чтобы схватить мышку, и справа налево, чтобы вернуться обратно к клавиатуре. Мышка в компьютерах 1981 года, прошло уже больше тридцати лет, и с тех пор почти ничего не изменилось.
Ни одна из стандартных альтернатив мышке мне не нравится: PointStick (пипка в центре клавиатуры для ноутбуков), тачпад, графический планшет – у всех либо точность плохая, либо все равно надо дергать руку с клавиатуры.
Есть еще программы и железо для трекинга глаз, вроде Camera Mouse или Tobii Eye Trackers. Честно, тратить сотню баксов на Tobii Eye Tracker не хотелось, а Camera Mouse очень плохо распознавало положение глаз (подозреваю, что виноваты мои очки).
Программа CameraTablet
В итоге я решил писать софт сам, благо веб-камера есть всегда. Идея простая: превратить часть клавиатуру в графический планшет. По шорткату камера начинает отслеживать положение указательного пальца и перемещать мышку в соответствующее место на экране, еще пара шорткатов – эмуляция левой и правой кнопки мыши. Вот видео, как это примерно работает.
Как сделан CameraTablet
Писать программу я решил в Python, якобы на этом языке очень быстро можно разрабатывать прототипы. Самое забавное, что в итоге CameraTablet получилась очень небольшим. Больше всего времени понадобилось, чтобы понять, как opencv распознает образы. Плюс немного пришлось повозиться, чтобы найти нормальный скрипт для эмуляции мыши. В остальном благодаря массе библиотек на Python удалось довольно быстро сделать все, что хотелось. Что мне понадобилось в итоге:
- opencv
- распознавание пальца на видео
- сохранение файла с фотографией пальца
- калибровка камеры
- keyboard – обработка горячих клавиш
- TkInter — пять кнопок для GUI.
Что дальше
В настоящий момент программа работает стабильно. Точности хватает для того, чтобы переключаться между окнами и выбирать пункты меню.
Источник https://www.linux.org.ru/forum/talks/9623718
Источник https://asys.u-train.com.ua/kak-sdelat-iz-kompyuternoj-myshki-ruchku-dlya-risovaniya.html
Источник https://habr.com/ru/post/331288/