Mündəricat:

Cyborg kompüter siçanı: 4 addım (şəkillərlə)
Cyborg kompüter siçanı: 4 addım (şəkillərlə)

Video: Cyborg kompüter siçanı: 4 addım (şəkillərlə)

Video: Cyborg kompüter siçanı: 4 addım (şəkillərlə)
Video: Cinsi əlaqə zamanı qadının 4 nahiyəsinə toxunmaq olmaz (Xanımlar İzləməsin) 2024, Dekabr
Anonim
Cyborg Kompüter Siçanı
Cyborg Kompüter Siçanı

Bir çox araşdırma, adi bir kompüter siçanını istifadə etmənin təhlükəli ola biləcəyini göstərir. Siçan standart bir kompüter avadanlığıdır. Kompüter istifadəçiləri siçandan klaviaturadan təxminən üç dəfə çox istifadə edirlər. Maruz qalma dərəcələri yüksək olduğundan, kompüter siçanını istifadə edərkən yuxarı ətrafın duruşunu yaxşılaşdırmaq çox vacibdir.

Bu mücərrəd layihə üçün, insanların xarici texnologiyaya ehtiyac olmadan kompüter ekranında hərəkət etməsinə imkan verən bir geyim qurğusu hazırlayacağıq. Bu şəkildə üfüqi bir səthdə cihazı tıklamaq əvəzinə əllərimizi təbii hərəkətlərdən istifadə edə bilərik. Bu da şifahi təqdimatları daha xoş hala gətirərək ayaq üstə durarkən ekranlardan istifadə etməyə imkan verir.

Prototipə gəldikdə, indeksdən joystick, sol klik üçün orta barmaq, sağ klik üçün üzük barmağı və cihazı açıb söndürmək üçün pinky istifadə olunacaq. Baş barmaq düymələrin basıldığı səth rolunu oynayacaq. Hamısı bir əlcəyə əlavə olunacaq.

Təchizat

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Joystick modulu
  • (x3) Düymə
  • (x20 ±) Tel keçidlər
  • (x3) 1KΩ rezistorlar
  • (x1) Əlcək tikiş dəsti
  • Silikon Velcro
  • Tel Lehimləmə dəsti
  • 3D çap hissəsi

Addım 1: Donanımı Qurun

Donanımı Qurun
Donanımı Qurun

Dizaynı daha yaxşı başa düşmək üçün Fritzing eskizini daxil etdik. Əvvəlcə komponentləri bir protoboya taxmağı məsləhət görürük. Bu şəkildə, lehimdən əvvəl hər şeyin işlədiyini yoxlaya bilərsiniz.

Addım 2: Kodu yükləyin və test edin

Bağlantılar qurulduqdan sonra, USB A (M) -ni kompüterdən Arduino Leonardoya mikro USB B (M) -ə qoşun və eskizi yükləyin. Eskizdə kopyalamaq, dəyişdirmək və təkmilləşdirməkdən çekinmeyin.

XƏBƏRDARLIQ: Mouse.move () əmrindən istifadə edərkən Arduino siçanınızı ələ keçirir! Komandanı istifadə etməzdən əvvəl nəzarət etdiyinizə əmin olun. Yalnız Arduino Leonardo, Micro və ya Due üçün işləyir

Bu layihə üçün kodumuz budur:

// Pinləri daxil edin#daxil edin; const int mouseMiddleButton = 2; // siçan ortası üçün giriş pimi Button const int startEmulation = 3; // siçan emulyasiyasını açmaq və söndürmək üçün keçid const int mouseLeftButton = 4; // sol siçan üçün giriş pimi Düymə const int mouseRightButton = 5; // siçan üçün giriş pimi sağ Button const int joystickX = A1; // joystick X ox const int joystickY = A0; // joystick Y oxu

// joystick oxumaq üçün parametrlər:

int cursorSpeed = 10; // X və ya Y hərəkətinin çıxış sürəti int cavabDelay = 5; // siçanın cavab gecikməsi, ms int eşik = cursorSpeed / 4; // istirahət həddi int center = cursorSpeed / 2; // istirahət mövqeyi dəyəri int mouseMiddleState = 0;

boolean mouseIsActive = yalan; // siçanı idarə edib -etməmək

int lastSwitchState = LOW; // əvvəlki keçid vəziyyəti

boş quraşdırma () {

pinMode (startEmulation, INPUT); // keçid pin pin modu (mouseMiddleButton, INPUT); // orta siçan düyməsinin pin pin modu (mouseLeftButton, INPUT); // sol siçan düyməsinin pin pin modu (mouseRightButton, INPUT); // siçanın sağ düyməsini sıxın

Mouse.begin (); // siçanı idarə et

}

boşluq döngəsi () {

// keçidi oxuyun: int switchState = digitalRead (startEmulation);

// dəyişirsə və yüksəkdirsə, siçan vəziyyətini dəyişdirin:

if (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive; }}

// keçid vəziyyətini növbəti döngə üçün saxla:

lastSwitchState = switchState;

// iki oxu oxuyun və ölçüsünü dəyişin:

int xReading = oxu oxu (A1); int yReading = oxu oxu (A0);

// siçan idarəetmə vəziyyəti aktivdirsə, siçanı hərəkət etdirin:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, siçan təkərini sürüşdür)}

// SOL

// siçan düyməsini oxuyun və vurun və ya vurmayın: // siçan düyməsinə basıldığı təqdirdə: əgər (digitalRead (mouseLeftButton) == YÜKSƏK) {// siçan basılmırsa, basın: əgər (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); gecikmə (100); // Mouse.release (MOUSE_LEFT) tək və cüt klikləmək üçün gecikmə; }}

// başqa halda siçan düyməsinə basılmır:

başqa {// siçan sıxılırsa, buraxın: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

// SAĞ

// siçan düyməsini oxuyun və vurun və ya vurmayın: // siçan düyməsinə basıldıqda: əgər (digitalRead (mouseRightButton) == YÜKSƏK) {// siçan basılmırsa, basın: əgər (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); gecikmə (100); // gecikmə tək və cüt klikləmək üçün Mouse.release (MOUSE_RIGHT); }}

// başqa halda siçan düyməsinə basılmır:

else {// siçan basıldıysa buraxın: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

// ORTA

// siçan düyməsini oxuyun və vurun və ya vurmayın: // siçan düyməsinə basıldıqda: əgər (digitalRead (mouseMiddleButton) == YÜKSƏK) {// siçan basılmırsa, basın: əgər (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // aktual el estado del botón}}

// başqa halda siçan düyməsinə basılmır:

başqa {// siçan sıxılırsa, buraxın: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

gecikmə (cavab gecikməsi);

}

/*

ox oxlayır (x və ya y üçün 0 və ya 1) və analoq giriş aralığını 0 ilə *arasında dəyişir

int readAxis (int thisAxis) {

// analoq girişi oxuyun: int reading = analogRead (thisAxis);

// oxunuşu analoq giriş aralığından çıxış aralığına xəritələyin:

oxu = xəritə (oxu, 0, 1023, 0, cursorSpeed);

// çıxış oxunuşu xaricindədirsə

// istirahət mövqeyi həddi, istifadə edin: int məsafə = oxu - mərkəz;

if (abs (məsafə) <eşik) {məsafə = 0; }

// bu ox üçün məsafəni qaytarın:

dönüş məsafəsi; }

Addım 3: Prototipin quraşdırılması

Prototipin quraşdırılması
Prototipin quraşdırılması
Prototipin quraşdırılması
Prototipin quraşdırılması
Prototipin quraşdırılması
Prototipin quraşdırılması

İlk addım cırtdanı əlcəyə tikməkdir, hər barmağına bir dənə cırtdan zolaq tikmək lazımdır. Velcronun yumşaq hissəsini tikdik.

Hər bir düymənin iki sancağı var, biri müvafiq sancaqlardan başlayır və düymənin müsbət ayağına, digəri isə mənfi ayağa bağlanır. Mənfi telin digər ucunda, hər bir düymənin müqavimətini və joystickin mənfi telini Arduino lövhəsinin GND -nə bağlayan son bir telə lehimləyirik. Eyni paralel əlaqə müsbət tərəf üçün işləyir. (3 düymə və joystick pozitiv ayağı)

Atlayıcıları lehimlədikdən sonra, tellərin arada ilişib qalmaması üçün sərt cırtdan zolaqlar taxacağıq. Nəhayət, joystick modulunu 3D çaplı bir parçaya termo-yapışdırdıq. Aşağıda. STL faylını tapa bilərsiniz.

Addım 4: Əlinizi siçan olaraq istifadə etməyə başlayın

Image
Image
Əlinizi siçan kimi istifadə etməyə başlayın!
Əlinizi siçan kimi istifadə etməyə başlayın!
Əlinizi siçan kimi istifadə etməyə başlayın!
Əlinizi siçan kimi istifadə etməyə başlayın!

Layihədən zövq alsanız, Assistive Tech Yarışmasında bizə səs verin.

Tövsiyə: