Оглавление:
- Запасы
- Шаг 1. Настройте оборудование
- Шаг 2. Загрузите код и тест
- Шаг 3: Установка прототипа
- Шаг 4: Начните использовать свою руку как мышь
Видео: Компьютерная мышь Cyborg: 4 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Многие исследования показывают, что использование обычной компьютерной мыши может быть опасным. Мышь является стандартным элементом компьютерного оборудования. Пользователи компьютеров используют мышь почти в три раза чаще, чем клавиатуру. Поскольку уровни воздействия высоки, очень важно улучшить осанку верхних конечностей при использовании компьютерной мыши.
Для этого абстрактного проекта мы создадим носимое устройство, которое позволит людям перемещаться по экрану компьютера без необходимости использования внешних технологий. Таким образом, мы могли использовать естественные движения рук вместо того, чтобы щелкать устройством по горизонтальной поверхности. Это также позволяет использовать экраны стоя, что делает устные презентации более приятными.
Что касается прототипа, будет использоваться указатель в качестве джойстика, средний палец для щелчка левой кнопкой, безымянный палец для щелчка правой кнопкой мыши и мизинец для включения и выключения устройства. Большой палец будет действовать как поверхность, на которой нажимаются кнопки. Все это будет добавлено в перчатку.
Запасы
- (x1) Ардуино Леонардо
- (x1) Протоборд
- (x1) Модуль джойстика
- (x3) Кнопка
- (x20 ±) Проволочные перемычки
- (x3) резисторы 1 кОм
- (x1) Набор для шитья перчаток
- Липучка горячий силикон
- Комплект для пайки проводов
- 3D-печатная часть
Шаг 1. Настройте оборудование
Мы включили эскиз Fritzing, чтобы лучше понять дизайн. Мы рекомендуем сначала установить компоненты на макетной плате. Так вы сможете перед пайкой проверить, все ли работает.
Шаг 2. Загрузите код и тест
После подключения подключите USB A (M) к micro USB B (M) от компьютера к Arduino Leonardo и загрузите эскиз. Не стесняйтесь копировать, изменять и улучшать эскиз.
ВНИМАНИЕ: Когда вы используете команду Mouse.move (), Arduino берет на себя вашу мышь! Прежде чем использовать команду, убедитесь, что у вас есть контроль. Работает только для Arduino Leonardo, Micro или Due.
Вот наш код для этого проекта:
// Определить контакты # include; const int mouseMiddleButton = 2; // входной контакт для средней кнопки мыши. Button const int startEmulation = 3; // включение и выключение эмуляции мыши const int mouseLeftButton = 4; // входной контакт для левой кнопки мыши const int mouseRightButton = 5; // входной контакт для правой кнопки мыши const int joystickX = A1; // ось X джойстика const int joystickY = A0; // ось Y джойстика
// параметры для чтения джойстика:
int cursorSpeed = 10; // вывод скорости движения по X или Y int responseDelay = 5; // задержка срабатывания мыши в мс int threshold = cursorSpeed / 4; // порог покоя int center = cursorSpeed / 2; // значение положения покоя int mouseMiddleState = 0;
логическое значение mouseIsActive = false; // нужно ли управлять мышью
int lastSwitchState = LOW; // предыдущее состояние переключателя
void setup () {
pinMode (startEmulation, ВХОД); // контакт переключателя pinMode (mouseMiddleButton, INPUT); // контакт средней кнопки мыши pinMode (mouseLeftButton, INPUT); // контакт левой кнопки мыши pinMode (mouseRightButton, INPUT); // контакт правой кнопки мыши
Mouse.begin (); // взять под управление мышь
}
void loop () {
// чтение переключателя: int switchState = digitalRead (startEmulation);
// если он изменился и он высокий, переключить состояние мыши:
если (switchState! = lastSwitchState) {если (switchState == LOW) {mouseIsActive =! mouseIsActive; }}
// сохраняем состояние переключателя для следующего цикла:
lastSwitchState = switchState;
// считываем и масштабируем две оси:
интервал xReading = readAxis (A1); int yReading = readAxis (A0);
// если состояние управления мышью активно, переместите мышь:
если (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, колесо прокрутки мыши)}
//ЛЕВЫЙ
// прочитать кнопку мыши и щелкнуть или не щелкнуть: // если кнопка мыши нажата: if (digitalRead (mouseLeftButton) == HIGH) {// если мышь не нажата, нажмите ее: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); задержка (100); // задержка для включения одиночного и двойного щелчка мыши Mouse.release (MOUSE_LEFT); }}
// иначе кнопка мыши не нажата:
else {// если мышь нажата, отпустите ее: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}
//ПРАВИЛЬНО
// прочитать кнопку мыши и щелкнуть или не щелкнуть: // если кнопка мыши нажата: if (digitalRead (mouseRightButton) == HIGH) {// если мышь не нажата, нажмите ее: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); задержка (100); // задержка для включения одиночного и двойного щелчка мыши Mouse.release (MOUSE_RIGHT); }}
// иначе кнопка мыши не нажата:
else {// если мышь нажата, отпустите ее: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}
//СЕРЕДИНА
// прочитать кнопку мыши и щелкнуть или не щелкнуть: // если кнопка мыши нажата: if (digitalRead (mouseMiddleButton) == HIGH) {// если мышь не нажата, нажмите ее: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // actualiza el estado del botón}}
// иначе кнопка мыши не нажата:
else {// если мышь нажата, отпустите ее: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}
задержка (responseDelay);
}
/*
считывает ось (0 или 1 для x или y) и масштабирует диапазон аналогового ввода до диапазона от 0 до * /
int readAxis (int thisAxis) {
// считываем аналоговый ввод: int read = analogRead (thisAxis);
// сопоставляем показания диапазона аналогового ввода с диапазоном вывода:
чтение = карта (чтение, 0, 1023, 0, скорость курсора);
// если выходное чтение находится за пределами
// порог положения покоя, используйте его: int distance = reading - center;
если (абс (расстояние) <порог) {расстояние = 0; }
// возвращаем расстояние для этой оси:
расстояние возврата; }
Шаг 3: Установка прототипа
Первым делом пришиваем липучку к перчатке, вам нужно пришить четыре полоски липучки по одной к каждому пальцу. Сшили мягкую часть липучки.
Каждая кнопка имеет два провода, один из которых начинается от соответствующих контактов и подключается к положительному полюсу кнопки, а другой - к отрицательному. На другом конце отрицательного провода мы припаиваем сопротивления каждой кнопки плюс отрицательный провод джойстика к последнему проводу, который подключается к GND платы Arduino. Такое же параллельное соединение работает и для положительной стороны. (3 кнопки и положительная ножка джойстика)
После пайки перемычек надеваем жесткие липучки, чтобы провода застревали между ними. Наконец, мы приклеили модуль джойстика к 3D-печатной детали. Ниже вы можете найти файл. STL.
Шаг 4: Начните использовать свою руку как мышь
Голосуйте за нас в конкурсе Assistive Tech Contest, если вам понравился проект.
Рекомендуемые:
Компьютерная мышь ParaMouse для парализованных людей: 5 шагов (с изображениями)
Компьютерная мышь ParaMouse для парализованных людей: Здравствуйте, в этом уроке я опишу, как собрать компьютерную мышь для людей с ограниченными возможностями, парализованных или парализованных людей. Это конкретное устройство легко построить и очень дешево, только небольшая отвертка и режущий нож. быть более чем достаточно для т
Компьютерная мышь Smart Glove: 4 шага (с изображениями)
Компьютерная мышь Smart Glove: это «умная перчатка». компьютерная мышь, которую можно использовать с любым компьютером PC, Mac или Linux. Он сделан с использованием многопротокольного хост-адаптера USB Binho Nova, который позволяет подключать датчики и другие компоненты к компьютеру, а затем управлять
Компьютерная система с автоматической блокировкой: 4 шага
Автоматическая блокировка компьютерной системы: в этом руководстве мы собираемся изучить безопасность блокировки экрана компьютера. Операционные системы имеют настраиваемый тайм-аут, который заблокирует ваш экран, если пользователь не коснулся мыши или клавиатуры. Обычно значение по умолчанию составляет около одной минуты
Theremoose - компьютерная мышь, управляемая терменвоксом: 6 шагов (с изображениями)
Theremoose - компьютерная мышь, управляемая терменвоксом: этот проект был разработан в сотрудничестве с Рэнди Гленном, обязательно посмотрите его здесь: https://www.instructables.com/member/rglenn/ Около недели назад я участвовал в хакатоне для ужасные идеи здесь, в Торонто (stupidhacktoronto.com). Это
Компьютерная мышь с ножным приводом: 7 шагов (с изображениями)
Компьютерная мышь с ножным управлением: я встроил функции мыши в подставку для ног, чтобы я мог составлять и редактировать текст, не нарушая ход мыслей и не отрывая руки от клавиатуры, чтобы возиться с обычной мышью или трекболом. Доступны коммерческие ножные мыши