İçindekiler:
- Gereçler
- Adım 1: Gerekli IDE'leri ve Kitaplıkları Kurun
- Adım 2: İvmeölçerleri Tüy'e bağlayın
- 3. Adım: İvmeölçerleri Gömleğe Takın
- Adım 4: Arduino'da Kod Çalıştırma
- Adım 5: Android'de Kodu Çalıştırma
- 6. Adım: Bluetooth Sinyal Bağlantısını Test Etme
- 7. Adım: Kendi Verilerinizi Toplama
- 8. Adım: Verilerinizi Jupyter Notebook'ta Eğitin
- 9. Adım: Android Uygulamasını Yeni Modelle Değiştirme
Video: Postshirt: Gerçek Zamanlı Giyilebilir Duruş Algılama: 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Postshirt, bir Adafruit Feather'dan gelen ivmeölçer verilerini Bluetooth aracılığıyla bir Android uygulamasına ileten ve sınıflandıran gerçek zamanlı bir kablosuz duruş algılama sistemidir. Tüm sistem, kullanıcının kötü bir duruşu olup olmadığını gerçek zamanlı olarak algılayabilir ve kullanıcı eğilmeye başladığında bir push bildirimi oluşturur, algılama aynı zamanda yürürken de çalışır.
Gereçler
Elektronik
1 x Android Akıllı Telefon
1 x Adafruit Tüyü
1 x Lityum İyon Polimer Pil - 3.7v 100mAh (kablosuz kullanım için isteğe bağlı)
2 x ADXL335 üç eksenli ivmeölçer
Malzemeler
Bağlantı teli
Bant rulo
Adım 1: Gerekli IDE'leri ve Kitaplıkları Kurun
ada meyvesi tüyü
Önce Arduino IDE'yi kurun ve ardından Adafruit nRF51 BLE Kütüphanesini kurmak için adımları izleyin.
Jüpiter Defter
Önce Jupyter Notebook'u ve ardından aşağıdaki gerekli kitaplıkları kurun
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Android Studio'yu yükleyin
Proje Kodu
Tüm proje kodunu GitHub'dan indirin
Adım 2: İvmeölçerleri Tüy'e bağlayın
ADXL335'lerden veri okumak için, bağlantı kablosunu Vin, toprak, Xout, Yout ve Zout pinlerine bağlayın. Her iki ivmeölçer için de Vin tellerinin diğer uçlarını Tüy üzerindeki 3V pinine ve topraklama pinlerinin diğer uçlarını Feather üzerindeki topraklama pinine bağlayın. İlk ivmeölçerin Xout, Yout ve Zout kablolarını Feather üzerindeki A0, A1 ve A2 pinlerine bağlayın. İkinci ivmeölçerin Xout, Yout ve Zout kablolarını Feather üzerindeki A3, A4 ve A5 pinlerine bağlayın.
İvmeölçerler herhangi bir şekilde bağlanabilir, ancak açıkta kalan bölümlerin birbirine temas etmesini önlemek için tellerin lehimlenmesi ve bağlantı noktalarının etrafına ısıyla büzüşmesi veya elektrik bandı sarılması önerilir.
3. Adım: İvmeölçerleri Gömleğe Takın
Bant kullanarak ivmeölçerleri gömleğin arkasına yapıştırın. A0-2 pimlerine bağlanan ivmeölçer, orta-alt sırtın ortasına yatay olarak yerleştirilmelidir. A3-5 pimlerine bağlanan ivmeölçer, ensenin arkasına yatay olarak ortalanmalıdır. Her iki ivmeölçer, pimler alt tarafta olacak şekilde hizalanmalı ve sensörler düz bir şekilde bantlanmalı ve gömleğe sabitlenmelidir.
Not: Daha kalıcı bir giyilebilirlik için sensörler giysinin üzerine dikilebilir ancak sensör yerleşimlerinin etkili bir şekilde konumlandırıldığından emin olmak için önce bantlanmaları ve test edilmeleri gerekir.
Adım 4: Arduino'da Kod Çalıştırma
Feather üzerinde veri toplamaya başlamak için Arduino IDE'yi başlatın ve proje kodunun Arduino bölümünün altındaki GestureDataSender dosyasını açın. Bu dosya açıkken, kartı ve kullanılan portu ayarlayın ve ardından kodu Feather'a yüklemek için "Doğrula" ve "Yükle"yi seçin.
Adım 5: Android'de Kodu Çalıştırma
Uygulamayı android üzerinde çalıştırmak için önce Android Studio'yu başlatın ve ardından mevcut bir Android projesini açma seçeneğini seçin. Proje koduna gidin ve "Android" klasörünü seçin. Android Studio'nun proje dosyalarını senkronize etmesi biraz zaman alacak ve gerekli bazı kitaplıkları yüklemeyi talep edebilir, bu seçenekleri kabul edin. Proje hazır olduğunda, Android cihazını bilgisayara takın ve pencerenin üst kısmındaki çalıştır seçeneğini seçin. Görüntülenen komut isteminden cihazı seçin ve ardından uygulamanın cihazda oluşturulmasına izin verin.
6. Adım: Bluetooth Sinyal Bağlantısını Test Etme
Uygulama açıldığında Feather'ın açık olduğundan emin olun ve ardından telefonda görünen cihaz listesinden Adafruit Bluefruit LE'yi seçin. Aygıtın bağlanmasını bekleyin, bağlantı ilk kez başarısız olursa, diğer hata ayıklama adımlarını gerçekleştirmeden önce yeniden bağlanmayı deneyin. Cihaz bağlandıktan sonra, düzgün çalışıyorsa canlı bir güncelleme grafiğinin yanı sıra mevcut duruş ve hareket tahminlerini gösterecek olan "Posture Detector" modülünü seçin. Arduino'nun sensör verilerini doğru bir şekilde ilettiğini test etmek için iki ivmeölçeri rastgele yönlerde hareket ettirin ve grafikteki tüm çizgilerin değişip değişmediğini kontrol edin. Bazı çizgiler sürekli düz kalıyorsa, ivmeölçerlerin Tüy'e doğru şekilde bağlandığından emin olun. Her şey yolundaysa gömleği giyin ve duruş algılamanın duruşunuzu doğru bir şekilde tahmin edip etmediğini test edin. Tebrikler! Bir duruş algılama giyilebilir cihazını başarıyla kurdunuz. Kendi veri kümenizi nasıl oluşturacağınızı ve kendi duruş algılamanızı nasıl özelleştireceğinizi öğrenmek için bu talimata devam edin.
7. Adım: Kendi Verilerinizi Toplama
Kendi verilerinizi toplamak için modül seçim ekranına dönün ve Veri Kaydedici modülünü açın. Bu ekran açıldığında, toplayacağınız veriler için etiketi doldurun; Verilerinizi kolayca eğitmek için, duruşu iyi olan tüm kayıtların adına "iyi" ve duruş içeren tüm kayıtlara "kötü" kelimesini eklemelisiniz. Toplamaya başlamak için "Veri Topla" düğmesine dokunun ve istediğiniz eylemi gerçekleştirin, işiniz bittiğinde verileri bitirmek ve kaydetmek için düğmeye tekrar dokunun. Kaydedilen tüm veriler, dosya sisteminizin belgeler klasörü altındaki "GestureData" adlı bir klasörde saklanacaktır. Tüm verilerinizi kaydetmeyi bitirdiğinizde, model eğitimi için dosyaları bilgisayarınıza kopyalayın.
8. Adım: Verilerinizi Jupyter Notebook'ta Eğitin
İlk proje kodu, Jupyter Notebook bölümünün altındaki "data" klasöründe eğitim için kullanılan orijinal verileri içerir, kendi verilerinizi eğitmek için bu klasördeki tüm dosyaları silin ve ardından kendi verilerinizi klasöre kopyalayın. Ardından Jupyter Notebook'u çalıştırın ve "PostureDetectorTrainer.ipynb" dosyasını açın. Bu not defteri, veri klasöründeki herhangi bir dosyayı iyi ve kötü duruşa göre otomatik olarak ayırmak ve ardından modeli eğitmek için sınıflandırma için doğrusal bir SVM eğitmek için tasarlanmıştır, yalnızca "Hücre" açılır menüsünü seçin ve "Tümünü Çalıştır"ı seçin. Dizüstü bilgisayarın çalışması biraz zaman alabilir, ancak bir kez tamamlandığında model için duruş tahmini doğruluğunu sağlayan noktaya ilerleyin, doğruluk düşükse önceki kayıtlarınızın doğru ve tutarlı temel gerçekler olduğundan emin olmak isteyebilirsiniz. Sonuçlar iyi görünüyorsa, bir Java sınıfının oluşturulacağı sonraki hücreye gidin. Parametre olarak yorumlanmış bir kısım görene kadar bu hücrenin en altına gidin. Bir sonraki adımda ihtiyaç duyacağınız için bu değerleri kopyalayın.
9. Adım: Android Uygulamasını Yeni Modelle Değiştirme
Android uygulamasındaki modeli değiştirmek için proje yapısının java bölümünün altındaki "PostureDetectorFragment.java" dosyasına gitmek için Android Studio'yu kullanın. Bu dosyada, Jupyter Notebook'ta oluşturulan 4 ile aynı 4 karşılık gelen değişkene sahip olacak "Duruş sınıflandırıcı" olarak yorumlanan bölüme gidin. Bu 4 değişkenin değerlerini, değişken adlarının p_vektörler, p_katsayılar vb.'den değiştirilmediğinden emin olarak Jupyter Notebook'tan kopyalanan değerlerle değiştirin. Bu yapıldıktan sonra dosyayı kaydedin ve uygulamayı kendi cihazınıza oluşturmak için tekrar Çalıştır seçeneğini seçin. cihaz. Şimdi Duruş Detektörü modülünü açmak için önceki adımların aynısını izleyin ve sınıflandırıcının şimdi yeni eğitilmiş modeliniz ile çalıştığını görmelisiniz. Hala iyi performans göstermiyorsa, daha fazla veri kaydetmeyi ve modeli yeniden oluşturmayı düşünmelisiniz. Aksi takdirde tebrikler! Artık kişisel olarak eğitilmiş sınıflandırıcınızı Postshirt'e aktardınız!
Önerilen:
Gerçek Zamanlı Saat Modülü (DS3231) Nasıl Kullanılır: 5 Adım
Gerçek Zamanlı Saat Modülü (DS3231) Nasıl Kullanılır: DS3231, entegre sıcaklık telafili kristal osilatör (TCXO) ve kristal ile düşük maliyetli, son derece hassas bir I2C gerçek zamanlı saattir (RTC). Cihaz bir pil girişi içerir ve ana güç bu cihaza geldiğinde doğru zaman işleyişini korur
[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: Fare işaretçisini kontrol etmek ve herhangi bir yüzeye dokunmadan anında bilgisayar faresi ile ilgili işlemleri gerçekleştirmek için kullanılabilecek Bluetooth tabanlı bir fare denetleyicisi yaptım. Bir eldivene gömülü olan elektronik devre, h
Gerçek Pipboy / IronMan: Giyilebilir Isıtıcı + Runner Yardımcı Işık: 10 Adım
Gerçek Pipboy / IronMan: Giyilebilir Isıtıcı + Runner Yardımcı Işık: Arka Plan: Prometheus'tan İnsanın Yaratılışı (JM Hunt tarafından): "Prometheus, Epimetheus'a dünyanın yaratıklarına hız, kurnazlık gibi çeşitli nitelikleri verme görevini vermişti. , güç, kürk ve kanatlar. Ne yazık ki, tarafından
RaspberryPi-4'te Gerçek Zamanlı Yüz Algılama: 6 Adımda (Resimlerle)
RaspberryPi-4'te Gerçek Zamanlı Yüz Algılama: Bu Eğitilebilir Tabloda, Shunyaface Kütüphanesini kullanarak Shunya O/S ile Raspberry Pi 4'te gerçek zamanlı yüz algılama gerçekleştireceğiz. Bu öğreticiyi izleyerek RaspberryPi-4'te 15-17'lik bir algılama kare hızı elde edebilirsiniz
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