Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Skonfiguruj sprzęt
- Krok 2: Prześlij kod i przetestuj
- Krok 3: Montaż prototypu
- Krok 4: Zacznij używać dłoni jako myszy
Wideo: Mysz komputerowa Cyborg: 4 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Wiele badań sugeruje, że postawa przy użyciu konwencjonalnej myszy komputerowej może być niebezpieczna. Mysz jest standardowym sprzętem komputerowym. Użytkownicy komputerów używają myszy prawie trzy razy częściej niż klawiatury. Ponieważ wskaźniki ekspozycji są wysokie, bardzo ważna jest poprawa postawy kończyn górnych podczas korzystania z myszy komputerowej.
W tym abstrakcyjnym projekcie stworzymy urządzenie do noszenia, które pozwoli ludziom poruszać się po ekranie komputera bez konieczności korzystania z zewnętrznej technologii. W ten sposób mogliśmy wykorzystać naturalne ruchy rąk zamiast klikać urządzeniem na poziomej powierzchni. Pozwala to również na korzystanie z ekranów w pozycji stojącej, uprzyjemniając prezentacje ustne.
Jeśli chodzi o prototyp, wskaźnik będzie używany jako joystick, środkowy palec do kliknięcia lewym przyciskiem, palec serdeczny do kliknięcia prawym i mały palec do włączania i wyłączania urządzenia. Kciuk będzie działał jak powierzchnia, na której naciskane są przyciski. Wszystko to zostanie dodane do rękawicy.
Kieszonkowe dzieci
- (x1) Arduino Leonardo
- (x1) Płyta prototypowa
- (x1) Moduł joysticka
- (x3) Przycisk
- (x20±) Zworki z drutu
- (x3) Rezystory 1KΩ
- (x1) Zestaw do szycia rękawic
- Rzep Gorący silikon
- Zestaw do lutowania drutowego
- Część drukowana w 3D
Krok 1: Skonfiguruj sprzęt
Załączyliśmy szkic Fritzing, aby lepiej zrozumieć projekt. Zalecamy najpierw montaż komponentów na płycie prototypowej. W ten sposób przed lutowaniem możesz sprawdzić, czy wszystko działa.
Krok 2: Prześlij kod i przetestuj
Po wykonaniu połączeń podłącz USB A (M) do micro USB B (M) z komputera do Arduino Leonardo i wgraj szkic. Zapraszam do kopiowania, modyfikowania i ulepszania szkicu.
OSTRZEŻENIE: Kiedy używasz polecenia Mouse.move(), Arduino przejmuje kontrolę nad myszą! Upewnij się, że masz kontrolę, zanim użyjesz polecenia. Działa tylko dla Arduino Leonardo, Micro lub Due
Oto nasz kod do tego projektu:
// Zdefiniuj szpilki#include; const int mouseMiddleButton = 2; // pin wejściowy dla środkowego przycisku myszy Przycisk const int startEmulation = 3; // przełącznik, aby włączyć lub wyłączyć emulację myszy const int mouseLeftButton = 4; // pin wejściowy dla lewego przycisku myszy Button const int mouseRightButton = 5; // pin wejściowy dla prawego przycisku myszy Przycisk const int joystickX = A1; // oś X joysticka const int joystickY = A0; // oś Y joysticka
// parametry do odczytu joysticka:
int kursorPrędkość = 10; // wyprowadzanie prędkości ruchu w osi X lub Y int responseDelay = 5; // opóźnienie odpowiedzi myszy, w ms int próg = cursorSpeed / 4; // próg spoczynkowy int center = cursorSpeed / 2; // wartość pozycji spoczynkowej int mouseMiddleState = 0;
wartość logiczna mouseIsActive = fałsz; // czy kontrolować mysz, czy nie
int lastSwitchState = NISKI; // poprzedni stan przełącznika
pusta konfiguracja () {
pinMode(startEmulation, INPUT); // pin przełącznika pinMode(mouseMiddleButton, INPUT); // środkowy przycisk myszy pinMode(mouseLeftButton, INPUT); // pin lewego przycisku myszy pinMode(mouseRightButton, INPUT); // szpilka prawego przycisku myszy
Mysz.początek(); // przejmij kontrolę nad myszą
}
pusta pętla () {
// odczytaj przełącznik: int switchState = digitalRead(startEmulation);
// jeśli jest zmieniony i jest wysoki, przełącz stan myszy:
if (switchState != lastSwitchState) { if (switchState == LOW) { mouseIsActive = !mouseIsActive; } }
// zapisz stan przełącznika dla następnej pętli:
lastSwitchState = switchState;
// odczytaj i wyskaluj obie osie:
int xReading = readAxis(A1); int yReading = readAxis(A0);
// jeśli stan kontroli myszy jest aktywny, przesuń mysz:
if (mouseIsActive) { Mouse.move(xReading, yReading, 0); // (x, y, przewijanie kółkiem myszy) }
//LEWO
// odczytaj przycisk myszy i kliknij lub nie kliknij: // jeśli przycisk myszy jest wciśnięty: if (digitalRead(mouseLeftButton) == HIGH) { // jeśli mysz nie jest wciśnięta, naciśnij ją: if (!Mouse.isPressed (MOUSE_LEFT)) { Mysz.naciśnij(MOUSE_LEFT); opóźnienie (100); // opóźnienie włączenia pojedynczego i podwójnego kliknięcia Mouse.release(MOUSE_LEFT); } }
// w przeciwnym razie przycisk myszy nie jest wciśnięty:
else { // jeśli mysz jest wciśnięta, zwolnij ją: if (Mouse.isPressed(MOUSE_LEFT)) { Mouse.release(MOUSE_LEFT); } }
//PRAWIDŁOWY
// odczytaj przycisk myszy i kliknij lub nie kliknij: // jeśli przycisk myszy jest wciśnięty: if (digitalRead(mouseRightButton) == HIGH) { // jeśli mysz nie jest wciśnięta, naciśnij ją: if (!Mouse.isPressed (MOUSE_RIGHT)) { Mysz.naciśnij (MOUSE_RIGHT); opóźnienie (100); // opóźnienie włączenia pojedynczego i podwójnego kliknięcia Mouse.release(MOUSE_RIGHT); } }
// w przeciwnym razie przycisk myszy nie jest wciśnięty:
else { // jeśli mysz jest wciśnięta, zwolnij ją: if (Mouse.isPressed(MOUSE_RIGHT)) { Mouse.release(MOUSE_RIGHT); } }
//ŚRODKOWY
// odczytaj przycisk myszy i kliknij lub nie kliknij: // jeśli przycisk myszy jest wciśnięty: if (digitalRead(mouseMiddleButton) == HIGH) { // jeśli mysz nie jest wciśnięta, naciśnij ją: if (!Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) { Mouse.press(MOUSE_MIDDLE); mouseMiddleState = 1; //aktualizacja stanu bota } }
// w przeciwnym razie przycisk myszy nie jest wciśnięty:
else { // jeśli mysz jest wciśnięta, zwolnij ją: if (Mouse.isPressed(MOUSE_MIDDLE) && mouseMiddleState == 1) { Mouse.release(MOUSE_MIDDLE); mouseMiddleState = 0; } }
opóźnienie(opóźnienie odpowiedzi);
}
/*
odczytuje oś (0 lub 1 dla x lub y) i skaluje zakres wejścia analogowego w zakresie od 0 do */
int readAxis(int thisAxis) {
// odczytaj wejście analogowe: int reading = analogRead(thisAxis);
// mapowanie odczytu z zakresu wejścia analogowego na zakres wyjściowy:
czytanie = mapa(odczyt, 0, 1023, 0, cursorSpeed);
// jeśli odczyt wyjścia jest poza
// próg pozycji spoczynkowej, użyj go: int distance = reading - center;
if (abs(odległość) < próg) { odległość = 0; }
// zwróć odległość dla tej osi:
odległość powrotu; }
Krok 3: Montaż prototypu
Pierwszym krokiem jest przyszycie rzepu do rękawicy, należy przyszyć cztery paski rzepu po jednym na każdy palec. Uszyliśmy miękką część rzepu.
Każdy przycisk ma dwa przewody, jeden, który zaczyna się na odpowiednich kołkach i łączy się z dodatnią odnogą przycisku, a drugi z odnogą ujemną. Na drugim końcu przewodu ujemnego lutujemy rezystancje każdego przycisku plus przewód ujemny joysticka do ostatniego przewodu, który łączy się z GND płytki Arduino. To samo połączenie równoległe działa po stronie dodatniej. (3 przyciski i pozytywna noga joysticka)
Po zlutowaniu zworek założymy twarde paski z rzepami, tak aby przewody wbijały się pomiędzy. Na koniec przykleiliśmy moduł joysticka do wydrukowanego elementu 3D. Poniżej znajdziesz plik. STL.
Krok 4: Zacznij używać dłoni jako myszy
Zagłosuj na nas w konkursie Assistive Tech Contest, jeśli podobał Ci się projekt.
Zalecana:
ParaMouse Mysz komputerowa dla sparaliżowanych: 5 kroków (ze zdjęciami)
Mysz komputerowa ParaMouse dla sparaliżowanych: Witam, w tym samouczku opiszę, jak zbudować mysz komputerową dla osób niepełnosprawnych, sparaliżowanych lub czterokończynowych. To konkretne urządzenie jest łatwe w budowie i bardzo tanie, wystarczy mały śrubokręt i nóż do cięcia. być więcej niż wystarczające dla t
Mysz komputerowa Smart Glove: 4 kroki (ze zdjęciami)
Mysz komputerowa Smart Glove: To jest „Smart Glove” mysz komputerowa, której można używać z dowolnym komputerem PC, Mac lub Linux. Jest on wykonany przy użyciu wieloprotokołowego adaptera hosta USB Binho Nova, który umożliwia podłączenie czujników i innych komponentów do komputera, a następnie
Theremoose - mysz komputerowa sterowana przez Theremin: 6 kroków (ze zdjęciami)
Theremoose - mysz komputerowa kontrolowana przez Theremin: Ten projekt powstał we współpracy z Randym Glennem, koniecznie sprawdź go tutaj: https://www.instructables.com/member/rglenn/Około tydzień temu brałem udział w hackathonie dla okropne pomysły tutaj w Toronto (stupidhacktoronto.com). To jest
Wyczyść mysz komputerową: 3 kroki
Wyczyść mysz komputerową: Czy kiedykolwiek miałeś mysz komputerową (nie optyczną), która wydaje się sprawiać, że wskaźnik skacze po ekranie lub w ogóle się nie porusza, gdy poruszasz myszą. Cóż, to zwykle oznacza, że jest brudny i trzeba go wyczyścić. To bardzo proste i
Mysz komputerowa obsługiwana nożnie: 7 kroków (ze zdjęciami)
Mysz komputerowa obsługiwana nogą: Wbudowałem funkcje myszy w podnóżek, dzięki czemu mogłem komponować i edytować tekst bez przerywania toku myślenia i odrywania rąk od klawiatury, aby grzebać w konwencjonalnej myszy lub trackballu. Dostępne są komercyjne myszy obsługiwane stopą