
[ad_1]
Сталкивались ли вы когда-нибудь с продуктом, который казался слишком хорошим, чтобы быть правдой? Именно это почувствовал Сэм Бейкер, когда наткнулся на краудфандинговую кампанию по созданию мыши с гибким сенсорным OLED-дисплеем. Эту мышь можно запрограммировать на специальные ярлыки для различных приложений. Представьте себе гибрид мыши и периферийного устройства, такого как Elgato Stream. Deck Нео.

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

Связанный
5 простых проектов, которые каждый может построить с помощью микроконтроллера ESP32
Кто сказал, что для создания крутых проектов ESP32 нужен высокий уровень навыков?
Планируем создать лучшую мышь
Мышь, сделанная своими руками, — не новая идея, но эта идея привносит интересный поворот. Бейкер хотел разработать мышь с сенсорным экраном. Все началось с простой идеи: поставить сенсорный экран на существующую мышь и настроить ее с помощью ярлыков для всех ваших приложений. Затем это превратился в большой DIY-проект с микроконтроллерами, изготовленными на заказ печатными платами и большим количеством устранения неполадок. Оказывается, это был сложный проект, полный сюрпризов и уроков.
Прежде чем начать, Бейкеру нужно было понять, как работает мышь. Современные мыши используют оптические датчики, чтобы определять, куда вы движетесь, фотографируя поверхность под ними. Затем они сравнивают изображения, чтобы определить относительное движение мыши на основе смещения. Некоторые датчики также распознают, когда вы нажимаете кнопку или прокручиваете колесо.
Чтобы учиться и планировать, Бейкер купил три дешевые мыши: две проводные USB и одну Bluetooth-мышь. У каждой мыши был свой оптический датчик, но он делал одно и то же.
Однако возникла большая проблема: не все технические описания этих датчиков было легко найти, что затрудняло их использование в проекте Бейкера. Один датчик даже использовал старый способ общения с компьютером под названием PS/2, который был ограничен.
Поначалу первая мышь казалась хорошим выбором, поскольку ее технические данные можно было найти в Интернете. Этот чип мог напрямую связываться с компьютером через USB, поэтому вам не требовался отдельный микроконтроллер. Однако все усложнилось, когда Бейкер попытался использовать его с микроконтроллером, таким как ESP32.
Выясняем, как мышь взаимодействует с компьютером
Бейкер быстро понял, что мыши в основном общаются с компьютерами, используя два протокола: PS/2 и HID. PS/2 довольно старый, и в современных мышах и клавиатурах его заменил HID, поэтому он знал, что лучше всего придерживаться USB HID. Использование старых датчиков мыши показалось не лучшим решением, поэтому он нашел датчик, специально созданный для таких проектов: Оптический датчик ADNS5050.
Чтобы получить данные датчика, Бейкеру нужно было подключить его к источнику питания и чему-то, что могло бы их понять — в данном случае, к плате комплекта разработки ESP32. Он нашел в Интернете несколько полезных библиотек и использовал их для преобразования данных датчиков во что-то полезное. Одним из них был репозиторий специально для ADNS5050.
Несмотря на то, что для окончательной версии это было непрактично, это помогло проверить идею и показало, что можно интегрировать датчик с микроконтроллером и в конечном итоге перемещать курсор мыши.
Создание специальной платы для специальной мыши
Бейкер создал базовую коммутационную плату для датчика на основе спецификации ADNS5050. Он использовал PCBWay, чтобы быстро (всего за две недели) получить специальную печатную плату. Чтобы облегчить сборку, он использовал сквозную конструкцию.
Схема Бейкера для его коммутационной платы ADNS5050
Для микроконтроллера Бейкер выбрал плату для разработки ESP32. Он имел встроенный Bluetooth, который идеально подходил для этого проекта, поскольку не требовал дополнительного модуля. Он мог подключить датчик напрямую к ESP32 с помощью коммутационной платы. Затем он использовал другой репозиторий для управления компьютером через Bluetooth. Таким способом он сделал Bluetooth-мышь.
Добавление сенсорного экрана к мыши
У этой мыши сенсорный экран, и это очень круто. Бейкеру нужен был сенсорный экран, который подходил бы к мыши, поэтому он рассмотрел различные варианты и остановил свой выбор на 2,8-дюймовом TFT-ЖК-дисплее с емкостным сенсорным экраном. Емкостное касание оказалось лучше резистивного, поскольку для выбора требуется меньше усилий, что важно для плавного перемещения мыши.
Бейкер разработал пользовательский интерфейс, который позволяет выбирать различные приложения и их ярлыки. Каждое приложение и ярлык представлены значком в сетке на экране. Когда вы нажимаете ярлык, он отправляет команду на компьютер через USB.
Мышь невозможна без прокрутки. Поскольку сенсорный экран занимает место колеса прокрутки, Бейкер придумал хитрый способ сделать это. Он использовал стрелки вверх и вниз на экране для имитации прокрутки. Это проще, чем прокрутка в стиле трекпада, но работает так же хорошо.
Объединение всего этого в работающую мышь с сенсорным экраном
Бейкер напечатал на 3D-принтере простую основу, на которой будут храниться все электронные части мыши. Поскольку он беспроводной, он вставил батарею, плату для зарядки и преобразователь 3,3 В в 5 В (потому что датчику мыши требуется 5 В). Он покрыл датчик изоляционной лентой, чтобы на него не влиял окружающий свет.
Поскольку это всего лишь основная идея, Бейкер не разработал внешний корпус для защиты деталей. Даже со всеми дополнительными вещами прототип примерно такого же размера, как обычная мышь.
Только начало, и вы можете сделать множество улучшений.
После многих лет размышлений Бейкер очень рад, что наконец завершил этот проект. Хотя это работает, это не совсем практично.
Идея классная, но мышь с сенсорным экраном не так функциональна, как обычная. Одним из преимуществ традиционной мыши является то, что на нее не нужно смотреть. Добавление сенсорного экрана означает, что если вы привыкли к сочетаниям клавиш, эта мышь может замедлить работу при восстановлении мышечной памяти.
У нынешнего дизайна также есть некоторые проблемы с тем, насколько он большой и удобный. Бейкер считает, что сможет решить эту проблему, разместив все различные компоненты на одной плате. Он также думает, что может сделать его более удобным и симпатичным, не делая его больше.
Чтобы помочь людям поработать над проектом, Бейкер сделал код открытым. Любой может использовать код для своих проектов или добавлять части в свои проекты. Но из-за некоторых проблем со стабильностью (возможно, из-за его операционной системы) клавиатурная часть кода была закомментирована. Тем не менее, люди могут экспериментировать.
Что будет дальше с проектом? Возможно, ваш вклад!
Бейкер очень рад работать над второй версией проекта и хотел бы получить помощь от более широкого сообщества. Если вы заинтересованы в программировании, проектировании печатных плат или моделировании в САПР, вы можете обратиться к Бейкеру на его странице проекта на GitHub.
Этот проект предлагает множество возможностей, таких как добавление мультимедийных элементов управления или встроенная игра, которая управляет собой с помощью данных датчиков. Бейкер также заинтересован в опробовании различных оптических датчиков, таких как PMW3360, который легко найти и который может питаться от источника питания 3,3 В.
Независимо от того, являетесь ли вы опытным домашним мастером или только начинаете, этот проект — отличный шанс научиться творчески комбинировать аппаратное и программное обеспечение, чтобы испытать инновационное сочетание аппаратного и программного обеспечения.
[ad_2]