İçindekiler:
- Gereçler
- Adım 1: Ahududu Pi ile İvmeölçer Arayüzleme
- 2. Adım: Raspberry Pi ile Arayüz Oluşturma Düğmesi
- Adım 3: Fare İşaretçisini Seri Olarak Kontrol Etmek için Python Komut Dosyası Geliştirme
- Adım 4: Fare İşaretçisini Bluetooth Üzerinden Kontrol Etmek İçin Python Komut Dosyası Geliştirme
- Adım 5: İvmeölçer ve Düğmeyi Eldivene Yerleştirme
Video: [Giyilebilir Fare] Windows 10 ve Linux için Bluetooth Tabanlı Giyilebilir Fare Denetleyicisi: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
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 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
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:
- pyautogui.move(0, 200, 2) # fareyi 2 saniye boyunca 200 piksel aşağı hareket ettirir
- 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
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:
- Gelen bir Bluetooth COM bağlantı noktası oluşturun.
- Pi'yi keşfedilebilir hale getirerek Pi'nin Bluetooth'unu dizüstü bilgisayarın Bluetooth'uyla eşleştirin.
- Python'u Windows'a yükleyin.
- Windows'a pip yükleyin. Pip, kütüphaneleri bir Linux veya Windows makinesine kurmak için kullanılır.
- Aşağıdakileri kullanarak pyautogui'yi Windows'a yükleyin: pip install pyautogui
- 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.
-
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,
- "Visual Studio Installer"ı indirin ve çalıştırın:
-
"Visual Studio Derleme Araçları 2017"yi kurun, "Visual C++ derleme araçları" ve "Evrensel Windows Platformu oluşturma araçları"nı işaretleyin
- git klonu
- cd pybluez
python setup.py kurulumu
- 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.
- 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:
- PyBluez'u Pi'ye yükleyin
- 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
İ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:
PC Oyun Denetleyicisi Eşleme (Linux ve Windows): 5 Adım
PC Game Controller Mapping (Linux ve Windows): Bir Kişisel Bilgisayarda oyun oynamaya başlıyorsanız, oraya ulaşmak için atmanız gereken birkaç adım olabilir. Bugün size en eski PC oyunlarında bile ücretsiz olarak bir USB oyun kumandasının nasıl kullanılacağını göstereceğim. Teknik
Arduino Tabanlı Kendin Yap Oyun Denetleyicisi - Arduino PS2 Oyun Denetleyicisi - DIY Arduino Gamepad ile Tekken Oynamak: 7 Adım
Arduino Tabanlı Kendin Yap Oyun Denetleyicisi | Arduino PS2 Oyun Denetleyicisi | Tekken'i DIY Arduino Gamepad ile Oynamak: Merhaba arkadaşlar, oyun oynamak her zaman eğlencelidir ama kendi DIY özel oyun Controller'ınızla oynamak daha eğlencelidir. Bu yüzden bu talimatta arduino pro micro kullanarak bir oyun Controller yapacağız
Giyilebilir Cihaz için RYB080l Bluetooth Eğitimi: 8 Adım
Giyilebilir Cihaz için RYB080l Bluetooth Eğitimi: Hey, naber beyler! Akarsh burada CETech'ten. Bu projem daha çok Reyax'ın küçük Bluetooth modülünün çalışmasını anlamak için bir öğrenme eğrisi. İlk önce modülü tek başına anlayacağız ve doğrudan kullanmaya çalışacağız, sonra birlikte çalışacağız
Minyatür Giyilebilir Kilitli Amplifikatör (ve Giyilebilir Cihazlar için Sonar Sistemi vb.): 7 Adım
Minyatür Giyilebilir Kilitli Amplifikatör (ve Giyilebilir Cihazlar vb. için Sonar Sistemi): Gözlük çerçevelerine yerleştirilebilen ve körler için bir sonar görüş sistemi veya basit bir ultrason oluşturabilen minyatür, düşük maliyetli bir kilitli amplifikatör oluşturun Kalbinizi sürekli izleyen ve İnsan-Makine Öğrenimini kullanarak uyaran makine
YABC - Bir Başka Blynk Denetleyicisi - IoT Bulut Sıcaklık ve Nem Denetleyicisi, ESP8266: 4 Adım
YABC - Yine Bir Başka Blynk Denetleyici - IoT Bulut Sıcaklık ve Nem Denetleyicisi, ESP8266: Merhaba Yapımcılar, Geçenlerde evde mantar yetiştirmeye başladım, İstiridye mantarları, ancak evde Fermenter için bu denetleyicilerden 3x'e zaten sahibim, eşim şimdi de bu Kombucha işini yapıyor ve Isı Termostatı olarak