İçindekiler:

Cyborg Bilgisayar Faresi: 4 Adım (Resimlerle)
Cyborg Bilgisayar Faresi: 4 Adım (Resimlerle)

Video: Cyborg Bilgisayar Faresi: 4 Adım (Resimlerle)

Video: Cyborg Bilgisayar Faresi: 4 Adım (Resimlerle)
Video: Enes Batur’un Bilgisayarı Hacklendi! 2024, Kasım
Anonim
Cyborg Bilgisayar Faresi
Cyborg Bilgisayar Faresi

Birçok araştırma, geleneksel bir bilgisayar faresi kullanmanın tehlikeli olabileceğini öne sürüyor. Fare standart bir bilgisayar ekipmanı parçasıdır. Bilgisayar kullanıcıları, fareyi klavyenin neredeyse üç katı kadar kullanır. Maruz kalma oranları yüksek olduğundan, bilgisayar faresi kullanırken üst ekstremite duruşunu iyileştirmek çok önemlidir.

Bu soyut proje için, insanların harici bir teknolojiye ihtiyaç duymadan bilgisayar ekranında hareket etmelerini sağlayan bir giyilebilir cihaz yapacağız. Bu şekilde yatay bir yüzeyde bir cihaza tıklamak yerine ellerin doğal hareketlerini kullanabiliriz. Bu aynı zamanda ayakta dururken ekranların kullanılmasına izin vererek sözlü sunumları daha keyifli hale getirir.

Prototip ise indeksi joystick, orta parmak sol tıklama, yüzük parmağı sağ tıklama ve serçe parmağı cihazı açıp kapamak için kullanacak. Başparmak, düğmelerin basıldığı yüzey görevi görecektir. Bunların hepsi bir eldivene eklenecek.

Gereçler

  • (x1) Arduino Leonardo
  • (x1) Anakart
  • (x1) Joystick modülü
  • (x3) Buton
  • (x20±) Tel köprüler
  • (x3)1KΩ Dirençler
  • (x1) Eldiven dikiş seti
  • Velcro Sıcak silikon
  • Tel Lehimleme kiti
  • 3D baskılı parça

1. Adım: Donanımı Kurun

Donanımı Kur
Donanımı Kur

Tasarımın daha iyi anlaşılması için bir Fritzing taslağı ekledik. Bileşenleri önce bir protokole monte etmenizi öneririz. Bu şekilde lehimlemeden önce her şeyin çalışıp çalışmadığını kontrol edebilirsiniz.

2. Adım: Kodu Yükleyin ve Test Edin

Bağlantılar yapıldıktan sonra USB A'yı (M) mikro USB B'ye (M) bilgisayardan Arduino Leonardo'ya bağlayın ve taslağı yükleyin. Krokiyi kopyalamaktan, değiştirmekten ve geliştirmekten çekinmeyin.

UYARI: Mouse.move() komutunu kullandığınızda Arduino, farenizi ele geçirir! Komutu kullanmadan önce kontrolün sizde olduğundan emin olun. Sadece Arduino Leonardo, Micro veya Due için çalışır

İşte bu proje için kodumuz:

// Pin Tanımla#include; const int mouseMiddleButton = 2; // fare ortası için pin girişi Buton const int startEmulation = 3; // fare emülasyonunu açıp kapatmak için geçiş yapın const int mouseLeftButton = 4; // sol fare için pin girişi Button const int mouseRightButton = 5; // fare sağı için pin girişi Buton const int joystickX = A1; // joystick X ekseni sabiti int joystickY = A0; // joystick Y ekseni

// joystick'i okumak için parametreler:

int imleçHız = 10; // X veya Y hareketinin çıkış hızı int responseDelay = 5; // farenin ms cinsinden yanıt gecikmesi int eşik = imleçHızı / 4; // dinlenme eşiği int merkez = imleçHız / 2; // dinlenme konumu değeri int mouseMiddleState = 0;

boolean mouseIsActive = yanlış; // farenin kontrol edilip edilmeyeceği

int lastSwitchState = DÜŞÜK; // önceki anahtar durumu

geçersiz kurulum() {

pinMode(startEmulation, INPUT); // anahtar pini pinMode(mouseMiddleButton, INPUT); // orta fare düğmesi pinMode(mouseLeftButton, INPUT); // farenin sol tuşu pinMode(mouseRightButton, INPUT); // farenin sağ tuşu pini

fare.başla(); // farenin kontrolünü elinize alın

}

boşluk döngüsü () {

// anahtarı oku: int switchState = digitalRead(startEmulation);

// değiştirilmişse ve yüksekse, fare durumunu değiştirin:

if (switchState != lastSwitchState) { if (switchState == DÜŞÜK) { mouseIsActive = !mouseIsActive; } }

// sonraki döngü için anahtar durumunu kaydet:

lastSwitchState = switchState;

// iki ekseni oku ve ölçeklendir:

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

// fare kontrol durumu aktifse, fareyi hareket ettirin:

if (mouseIsActive) { Mouse.move(xReading, yReading, 0); // (x, y, fare tekerleğini kaydırma) }

//SOL

// fare düğmesini okuyun ve tıklayın veya tıklamayın: // fare düğmesine basılırsa: if (digitalRead(mouseLeftButton) == HIGH) { // fareye basılı değilse, basın: if (!Mouse.isPressed (MOUSE_LEFT)) { Mouse.press(MOUSE_LEFT); gecikme(100); // Fareyi tek tıklama ve çift tıklamayı etkinleştirmek için gecikme (MOUSE_LEFT); } }

// yoksa fare düğmesine basılmaz:

else { // fareye basılırsa bırakın: if (Mouse.isPressed(MOUSE_LEFT)) { Mouse.release(MOUSE_LEFT); } }

//SAĞ

// fare düğmesini okuyun ve tıklayın veya tıklamayın: // fare düğmesine basılırsa: if (digitalRead(mouseRightButton) == HIGH) { // fareye basılı değilse, basın: if (!Mouse.isPressed (MOUSE_RIGHT)) { Mouse.press(MOUSE_RIGHT); gecikme(100); // Fareyi tek tıklama ve çift tıklamayı etkinleştirmek için gecikme (MOUSE_RIGHT); } }

// yoksa fare düğmesine basılmaz:

else { // fareye basılırsa bırakın: if (Mouse.isPressed(MOUSE_RIGHT)) { Mouse.release(MOUSE_RIGHT); } }

//ORTA

// fare düğmesini okuyun ve tıklayın veya tıklamayın: // fare düğmesine basılırsa: if (digitalRead(mouseMiddleButton) == HIGH) { // fareye basılı değilse, basın: if (!Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) { Mouse.press(MOUSE_MIDDLE); mouseMiddleState = 1; //gerçekleştirme el estado del botón } }

// yoksa fare düğmesine basılmaz:

else { // fareye basılırsa bırakın: if (Mouse.isPressed(MOUSE_MIDDLE) && mouseMiddleState == 1) { Mouse.release(MOUSE_MIDDLE); mouseMiddleState = 0; } }

gecikme (yanıt Gecikmesi);

}

/*

bir ekseni okur (x veya y için 0 veya 1) ve analog giriş aralığını 0 ila */ aralığına ölçeklendirir

int readAxis(int thisAxis) {

// analog girişi oku: int okuma = analogRead(thisAxis);

// analog giriş aralığından okumayı çıkış aralığına eşleyin:

okuma = harita(okuma, 0, 1023, 0, imleçHızı);

// çıktı okuması dışındaysa

// dinlenme konumu eşiği, bunu kullanın: int uzaklık = okuma - merkez;

if (mutlak(mesafe) < eşik) { mesafe = 0; }

// bu eksen için mesafeyi döndür:

dönüş mesafesi; }

Adım 3: Prototipin Montajı

Prototipin Montajı
Prototipin Montajı
Prototipin Montajı
Prototipin Montajı
Prototipin Montajı
Prototipin Montajı

İlk adım, eldivene cırt cırt dikmek, her bir parmağa birer cırt cırt şerit dikmeniz gerekiyor. Velcro'nun yumuşak kısmını diktik.

Her bir basma düğmesi, biri ilgili pinlerde başlayan ve düğmenin pozitif ayağına, diğeri ise negatif ayağına bağlanan iki kabloya sahiptir. Negatif kablonun diğer ucunda, her bir düğmenin dirençlerini artı joystick'in negatif kablosunu Arduino kartının GND'sine bağlanan son bir kabloya lehimliyoruz. Aynı paralel bağlantı pozitif taraf için de geçerlidir. (3 düğme ve joystick pozitif bacak)

Jumper'ları lehimledikten sonra sert cırt bantları takacağız, böylece teller arasına sıkışacak. Son olarak joystick modülünü 3D baskılı bir parçaya ısıyla yapıştırdık. Aşağıda. STL dosyasını bulabilirsiniz.

Adım 4: Elinizi Fare Olarak Kullanmaya Başlayın

Image
Image
Elinizi Fare Olarak Kullanmaya Başlayın!
Elinizi Fare Olarak Kullanmaya Başlayın!
Elinizi Fare Olarak Kullanmaya Başlayın!
Elinizi Fare Olarak Kullanmaya Başlayın!

Projeyi beğendiyseniz, Yardımcı Teknoloji Yarışmasında bize oy verin.

Önerilen: