İçindekiler:

[Giyilebilir Fare] Windows 10 ve Linux için Bluetooth Tabanlı Giyilebilir Fare Denetleyicisi: 5 Adım
[Giyilebilir Fare] Windows 10 ve Linux için Bluetooth Tabanlı Giyilebilir Fare Denetleyicisi: 5 Adım

Video: [Giyilebilir Fare] Windows 10 ve Linux için Bluetooth Tabanlı Giyilebilir Fare Denetleyicisi: 5 Adım

Video: [Giyilebilir Fare] Windows 10 ve Linux için Bluetooth Tabanlı Giyilebilir Fare Denetleyicisi: 5 Adım
Video: BİLİŞİM TEKNOLOJİLERİ - YBS101U (UNITE 1) 2024, Temmuz
Anonim
Image
Image
Raspberry Pi ile Arayüzleme İvmeölçer
Raspberry Pi ile Arayüzleme İvmeölçer

Fare işaretçisini kontrol etmek ve PC-fare ile ilgili işlemleri herhangi bir yüzeye dokunmadan anında gerçekleştirmek için kullanılabilecek Bluetooth tabanlı bir fare denetleyicisi yaptım. Bir eldivenin üzerine yerleştirilmiş elektronik devre, bir İvmeölçer aracılığıyla el hareketlerini izlemek için kullanılabilir ve bu, fare işaretçisinin hareketine çevrilebilir. Bu cihaz aynı zamanda sol tuş tıklamasını kopyalayan bir tuş ile arayüzlenmiştir. Cihaz, PC'ye seri olarak (USB üzerinden) veya bir Bluetooth bağlantısı üzerinden kablosuz olarak bağlanabilir. Bluetooth, ana cihaz ile bu giyilebilir fare arasında sağlam ve evrensel bir kablosuz iletişim sağlar. Bluetooth yaygın olarak mevcut olduğundan ve neredeyse tüm kişisel dizüstü bilgisayarlarla birlikte geldiği için, böyle bir giyilebilir cihazın kullanım durumu geniştir. Çeşitli projeler için yaygın olarak kullanılan bir geliştirme platformu olan Raspberry Pi'yi kullanarak farklı sensörlerin arayüzlenmesi ve böyle bir cihazın geliştirilmesi kolay ve ölçeklenebilir. Eldiven, uygulamasını daha geniş hale getirmek için başka herhangi bir giyilebilir ürünle değiştirilebilir.

COVID-19'a karşı önlem olarak, farklı kişiler arasında paylaşılabilecek yüzeylere dokunmaktan kaçınılması tavsiye edilir ve bu ortak yüzeyler arasında dokunmatik ekranlı bir dizüstü bilgisayar veya fare olabilir. Böyle giyilebilir bir cihazın kullanılması hijyenin korunmasına ve yaygın olarak kullanılan yüzeylerin sterilize edilmesine yardımcı olur:)

Gereçler

  • Raspberry Pi 3 Model B V1.2
  • SparkFun Üç Eksenli İvmeölçer Koparma - MMA8452Q
  • Erkek - Dişi Jumper Teli
  • Bir eldiven
  • Koli Bandı
  • Makas
  • Mikro USB kablosu
  • HDMI Kablosu (Raspberry Pi aracılığıyla hata ayıklamak için)

Adım 1: Ahududu Pi ile İvmeölçer Arayüzleme

Raspberry Pi ile Arayüzleme İvmeölçer
Raspberry Pi ile Arayüzleme İvmeölçer

Raspberry Pi GPIO pinleriyle konuşmak ve eksen verilerini göndermek için I2C iletişim protokolünü kullanan Sparkfun'dan bir MMA8542Q Üç eksenli ivmeölçer kullandım. Bu sensör, yapılandırılabilir veri hızı, uyku modları, hızlanma aralığı, filtre modu vb. ile çeşitli çalışma modları sağlar. Pibits'in kodunu, sensörün ilk yapılandırmamda ve el hareketlerimle test etmemde çok yardımcı olduğunu buldum. Sensörü önce düz bir yüzeye yerleştirmek ve ham sensör değerlerini gözlemlerken deterministik eğimler yapmak daha iyidir. Bu, bu sensörün çeşitli el hareketleriyle nasıl tepki verdiğini ve uygulamamız için eşikleri nasıl ayarlayabileceğimizi anlamada özellikle yararlıdır. İvmeölçer başarılı bir şekilde arayüzlendiğinde, Pi'nin terminal ekranında ham eksen verilerinin geldiğini görebilirsiniz.

2. Adım: Raspberry Pi ile Arayüz Oluşturma Düğmesi

Raspberry Pi ile Arayüz Buton
Raspberry Pi ile Arayüz Buton

Bu giyilebilir cihazda, ekrandaki simgelere tıklayabilmem için farenin sol düğmesi olarak çalışabilen bir düğmeyi arayüzledim. Düğmenin 2 ucu daha sonra Pi'nin 2 GPIO pinine bağlanır. Pinlerden biri mantıksal bir yüksek çıkış verir ve diğer pin bu değeri okur. Düğmeye basıldığında devre kapanır ve giriş pini mantık-yüksek bir değeri okuyabilir, daha sonra sol fare tıklamasını taklit etmek için yazdığım komut dosyası tarafından işlenir. Havya olmamasından dolayı jumperları düğme ile bağlamak için koli bandı kullandım.

Adım 3: Fare İşaretçisini Seri Olarak Kontrol Etmek için Python Komut Dosyası Geliştirme

Fare işaretçisini kontrol etmek için Pyautogui Python kitaplığını kullandım. Bu kütüphaneyi kullanma sebebi hem Linux hem de Windows platformunda çalışıyor olmasıydı. Raspberry Pi'mdeki fare işaretçisini kontrol etmek için önce Pi'mi bir ekrana bağladım. Ardından, fare işaretçimi kontrol etmek için kitaplık tarafından sağlanan aşağıdaki API'leri kullandım:

  1. pyautogui.move(0, 200, 2) # fareyi 2 saniye boyunca 200 piksel aşağı hareket ettirir
  2. pyautogui.click() # fareyi tıklayın

İvmeölçerden gelen hata verilerini filtrelemek için ortalama alma ve ekteki koddan kolayca anlaşılabilecek diğer filtreleme yöntemlerini kullandım. API pyautogui.move(0, y), fare işaretçisinin bir seferde yukarı-aşağı veya sol-sağ gidebileceği şekilde kullanıldı. Bunun nedeni, ivmeölçerin eksenleri X, Y ve Z yönünde bildirmesi, ancak API'nin yalnızca 2 bağımsız değişken, X ve Y eksenleri almasıdır. Dolayısıyla, bu yaklaşım ivmeölçerim ve ekrandaki hareketleri haritalamak için çok uygundu.

Adım 4: Fare İşaretçisini Bluetooth Üzerinden Kontrol Etmek İçin Python Komut Dosyası Geliştirme

Bluetooth Üzerinden Fare İşaretçisini Kontrol Etmek için Python Komut Dosyası Geliştirme
Bluetooth Üzerinden Fare İşaretçisini Kontrol Etmek için Python Komut Dosyası Geliştirme

Bu kısım, Bluetooth özelliğine sahip herhangi bir dizüstü bilgisayarın Raspberry Pi ile sunucu-istemci iletişim modelinde haberleşebildiği ve fare koordinat verilerini kablosuz olarak iletebildiği gelişmiş bir uygulamadır. Bluetooth İletişimine izin verecek bir Windows 10 64-bit dizüstü bilgisayar kurmak için aşağıdaki adımları izlememiz gerekiyor:

Windows 10:

  1. Gelen bir Bluetooth COM bağlantı noktası oluşturun.
  2. Pi'yi keşfedilebilir hale getirerek Pi'nin Bluetooth'unu dizüstü bilgisayarın Bluetooth'uyla eşleştirin.
  3. Python'u Windows'a yükleyin.
  4. Windows'a pip yükleyin. Pip, kütüphaneleri bir Linux veya Windows makinesine kurmak için kullanılır.
  5. Aşağıdakileri kullanarak pyautogui'yi Windows'a yükleyin: pip install pyautogui
  6. Pyautogui cihaza yüklendikten sonra, Windows terminalinde aşağıdaki komutu kullanarak Pybluez'u Windows'a kurun: pip install PyBluez-win10. PyBluez, hem Windows hem de Linux PC'lerde Bluetooth iletişimini etkinleştirir.
  7. Windows 10 dizüstü bilgisayarda uygulama geliştirmek için Microsoft Visual Studio'yu (15-20 GB alan gerekli) ve oluşturma araçlarını yüklememiz gerekiyor. Bu nedenle, PyBluez ile birlikte aşağıdaki talimatları izlememiz gerekiyor,

    1. "Visual Studio Installer"ı indirin ve çalıştırın:
    2. "Visual Studio Derleme Araçları 2017"yi kurun, "Visual C++ derleme araçları" ve "Evrensel Windows Platformu oluşturma araçları"nı işaretleyin

    3. git klonu
    4. cd pybluez
    5. python setup.py kurulumu

  8. Yukarıdaki talimatlar doğru bir şekilde takip edilirse, Python'u Windows terminalinde çalıştırmak ve pyautogui ve Bluetooth modülünü içe aktarmak, yukarıdaki görüntüye göre hatasız çalışmalıdır.
  9. Windows makinesinde yüklü pybluez kitaplığında şuraya gidin: pybluez-master\examples\simple\rfcomm-server.py ve python rfcomm-server.py kullanarak çalıştırın. Terminal hatasız bir bekleme durumuna geçerse Pi üzerinde Bluetooth kurulumu için aşağıdaki bölüme gidiniz. pybluez kurulumunda hatalar varsa, hata ayıklama için GitHub Sorunlarına bakın.

Raspberry Pi'de Raspbian:

  1. PyBluez'u Pi'ye yükleyin
  2. Sunucu örneğini Windows'ta çalıştırın. Ardından, Pi'de pybluez-master\examples\simple\rfcomm-client.py'ye gidin ve çalıştırın. İki cihaz iletişim kurmaya başladıysa, Bluetooth şimdi her iki cihazda da kuruludur. Python ile soket iletişiminin nasıl çalıştığı hakkında daha fazla bilgi edinmek için MIT'den bu bağlantıya bakın.

Veriler bayt olarak gönderildiğinden, eksen verilerini Pi'den PC'ye göndermek için bazı ek veri ayrıştırma gerekecektir. İstemci ve sunucu veri iletişimi hakkında daha fazla bilgi için ekteki koda bakın.

Adım 5: İvmeölçer ve Düğmeyi Eldivene Yerleştirme

Eldivene İvmeölçer ve Düğme Yerleştirme
Eldivene İvmeölçer ve Düğme Yerleştirme
Eldivene İvmeölçer ve Düğme Yerleştirme
Eldivene İvmeölçer ve Düğme Yerleştirme

İvmeölçer iyi bir şekilde arayüzlendiğinde, iskelet sistemi bu adımdaki ilk görüntü gibi görünüyor.

Eldivenin yüzeyi düz olmadığı için arada sırada posta kutuma gelen sahte bir kredi kartı kullandım. Bu adımdaki ikinci görüntüye göre, sahte kredi kartını koli bandıyla eldivenimin üst yüzeyine yapıştırdım. Kartın üzerine ivmeölçerimi taktım. Bu kurulum, ivmeölçerimi sabit tutacak ve hareketlerimi doğru bir şekilde izleyebilecek kadar sağlamdı.

Önerilen: