Mündəricat:
- Təchizat
- Addım 1: Lazım olan IDE və Kitabxanaları quraşdırın
- Addım 2: Sürətləndiriciləri Tüyə bağlayın
- Addım 3: Sürətləndiriciləri köynəyə bağlayın
- Addım 4: Arduinoda Kod Çalışdırın
- Addım 5: Android -də Kod Çalışdırın
- Addım 6: Bluetooth Siqnal Bağlantısının Test Edilməsi
- Addım 7: Öz məlumatlarınızı toplayın
- Addım 8: Məlumatlarınızı Jupyter Notebook -da öyrədin
- Addım 9: Android Modelini Yeni Modellə Dəyişdirmək
Video: Postshirt: Real vaxtda geyilə bilən duruş algılama: 9 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Postshirt, Adafruit Lələkdən accelerometer məlumatlarını Bluetooth vasitəsilə bir Android tətbiqinə ötürən və təsnif edən real vaxt simsiz duruş aşkarlama sistemidir. İstifadəçinin pis duruşu varsa və istifadəçi əyilməyə başlayanda təkan bildirişi yaratsa, sistem tam zamanlı olaraq aşkar edə bilər, aşkarlama gəzinti zamanı da işləyir.
Təchizat
Elektronika
1 x Android smartfonu
1 x Adafruit Tüyü
1 x Lityum İon Polimer Batareya - 3.7v 100mAh (simsiz istifadə üçün isteğe bağlıdır)
2 x ADXL335 üç oxlu akselerometr
Materiallar
Bağlama teli
Bant rulonu
Addım 1: Lazım olan IDE və Kitabxanaları quraşdırın
Adafruit Tüyü
Əvvəlcə Arduino IDE qurun və sonra Adafruit nRF51 BLE Kitabxanasını qurmaq üçün addımları izləyin
Jupyter Noutbuku
Əvvəlcə Jupyter Notebook və sonra aşağıdakı tələb olunan kitabxanaları quraşdırın
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Android Studio qurun
Layihə kodu
Bütün layihə kodlarını GitHub -dan yükləyin
Addım 2: Sürətləndiriciləri Tüyə bağlayın
ADXL335 -lərdəki məlumatları oxumaq üçün bağlama telini Vin, torpaq, Xout, Yout və Zout pinlərinə bağlayın. Hər iki sürətölçən üçün Vin tellərinin digər uclarını Tüyün üzərindəki 3V pinə, digər uclarını isə Tüydəki torpaq pininə bağlayın. İlk akselerometrin Xout, Yout və Zout tellərini Lələkdəki A0, A1 və A2 pinlərinə bağlayın. İkinci akselerometrin Xout, Yout və Zout tellərini Tüy üzərindəki A3, A4 və A5 pinlərinə bağlayın.
Sürətölçənlər hər hansı bir şəkildə bağlana bilər, ancaq açıq hissələrin bir -birinə təmas etməsinin qarşısını almaq üçün telləri lehimləmək və bağlama nöqtələrinə elektrik şeridi çəkmək və ya bağlamaq tövsiyə olunur.
Addım 3: Sürətləndiriciləri köynəyə bağlayın
Bantdan istifadə edərək akselerometrləri köynəyin arxasına yapışdırın. A0-2 sancaqlarına bağlanan sürətölçən, aşağı arxanın ortasında üfüqi olaraq yerləşdirilməlidir. A3-5 sancaqlarına bağlanan sürətölçən, boynunun arxasında üfüqi bir şəkildə yerləşdirilməlidir. Hər iki sürətölçən sancaqlar alt tərəfdə olacaq şəkildə hizalanmalı və sensorlar düz və köynəyə bərkidilməlidir.
Qeyd: Daha qalıcı olması üçün sensorlar paltarın üstünə tikilə bilər, lakin sensor yerləşdirmələrin effektiv şəkildə yerləşdirilməsini təmin etmək üçün əvvəlcə lentlə bağlanmalı və sınaqdan keçirilməlidir.
Addım 4: Arduinoda Kod Çalışdırın
Tüy haqqında məlumat toplamağa başlamaq üçün Arduino IDE -ni işə salın və layihə kodunun Arduino bölməsi altında GestureDataSender faylını açın. Bu fayl açıq olduqda istifadə olunan lövhəni və portu təyin edin və sonra kodu Tüyə yükləmək üçün "Doğrula" və "Yüklə" seçin.
Addım 5: Android -də Kod Çalışdırın
Tətbiqi android -də işə salmaq üçün əvvəlcə Android Studio -nu işə salın və sonra mövcud bir Android layihəsini açma seçimini seçin. Layihə koduna gedin və "Android" qovluğunu seçin. Android Studio, layihə fayllarını sinxronizasiya etmək üçün bir az vaxt aparacaq və bəzi tələb olunan kitabxanaların quraşdırılmasını tələb edə bilər, bu variantları qəbul edin. Layihə hazır olduqdan sonra Android cihazını kompüterə qoşun və pəncərənin yuxarısındakı işləmə seçimini seçin. Görünən sorğudan cihazı seçin və sonra tətbiqin cihaza qurulmasına icazə verin.
Addım 6: Bluetooth Siqnal Bağlantısının Test Edilməsi
Tətbiq açıldıqdan sonra Tüyün açıldığından əmin olun və sonra telefonda görünən cihaz siyahısından Adafruit Bluefruit LE seçin. Cihazın bağlanmasını gözləyin, əgər əlaqə ilk dəfə uğursuz olarsa, digər ayıklama addımlarını atmadan əvvəl yenidən qoşulmağa çalışın. Cihaz bağlandıqdan sonra, düzgün işləyərkən canlı bir yeniləmə qrafikini, habelə duruş və hərəkətin mövcud proqnozlarını göstərəcək "Duruş Detektoru" modulunu seçin. Arduinonun sensor məlumatları ilə əlaqə qurduğunu yoxlamaq üçün iki akselerometri təsadüfi istiqamətdə hərəkət etdirin və qrafikdəki bütün xətlərin dəyişib dəyişmədiyini yoxlayın. Bəzi xətlər davamlı olaraq düz qalırsa, akselerometrlərin Lələyə düzgün bir şəkildə bağlandığından əmin olun. Hər şey işləyirsə, köynəyi geyinin və duruşun duruşunuzu düzgün şəkildə proqnozlaşdırdığını yoxlayın. Təbrik edirik! Geyilə bilən bir duruş algılamasını uğurla qurdunuz. Öz məlumat dəstinizi necə yaratmağı və öz duruşunuzu necə təyin edəcəyinizi öyrənmək üçün bu təlimata davam edin.
Addım 7: Öz məlumatlarınızı toplayın
Öz məlumatlarınızı toplamaq üçün modul seçim ekranına qayıdın və Data Recorder modulunu açın. Bu ekran açıldıqdan sonra toplayacağınız məlumatların etiketini doldurun; Məlumatlarınızı asanlıqla öyrətmək üçün, duruşu yaxşı olan hər hansı bir qeydin adına "yaxşı" sözünü və duruşlu hər hansı bir qeyddə "pis" sözünü daxil etməlisiniz. Toplamağa başlamaq üçün "Məlumat topla" düyməsinə vurun və nəzərdə tutulan hərəkəti yerinə yetirin, bitirdikdə məlumatı bitirmək və saxlamaq üçün yenidən düyməyə vurun. Qeydə alınan bütün məlumatlar fayl sisteminizin sənədlər qovluğunun altında "GestureData" adlı qovluqda saxlanılacaq. Bütün məlumatlarınızı qeyd etməyi bitirdikdən sonra model təhsili üçün faylları kompüterinizə köçürün.
Addım 8: Məlumatlarınızı Jupyter Notebook -da öyrədin
İlkin layihə kodu, Jupyter Notebook bölməsindəki "data" qovluğunda təlim keçmək üçün istifadə olunan orijinal məlumatları öz məlumatlarınızı öyrətmək üçün bu qovluqdakı bütün faylları silin və sonra öz məlumatlarınızı qovluğa kopyalayın. Sonra Jupyter Notebook -u işə salın və "PostureDetectorTrainer.ipynb" i açın. Bu notebook, məlumat qovluğundakı hər hansı bir faylı yaxşı və pis duruşa görə avtomatik olaraq ayırmaq və sonra modeli öyrətmək üçün xətti bir SVM hazırlamaq üçün nəzərdə tutulmuşdur. Notbukun işləməsi üçün bir az vaxt lazım ola bilər, ancaq model üçün duruş proqnozlaşdırma dəqiqliyini təmin edən nöqtəyə keçdikdən sonra, dəqiqliyi aşağı olarsa, əvvəlki qeydlərinizin dəqiq və ardıcıl əsas həqiqətlər olmasını təmin edə bilərsiniz. Nəticələr yaxşı görünürsə, Java sinifinin yaradılacağı növbəti hüceyrəyə keçin. Parametr olaraq şərh olunan bir hissəni görənə qədər bu xananın altına gedin. Bu dəyərləri növbəti addımda ehtiyacınız olduğu kimi kopyalayın.
Addım 9: Android Modelini Yeni Modellə Dəyişdirmək
Android tətbiqetməsindəki modeli dəyişdirmək üçün layihə quruluşunun java bölməsi altında "PostureDetectorFragment.java" faylına getmək üçün Android Studio istifadə edin. Bu faylda, Jupyter Notebook -da yaradılan 4 ilə eyni 4 uyğun dəyişənə sahib olacaq "Duruş təsnifatçısı" olaraq şərh edilən hissəyə aşağı diyirləyin. Bu 4 dəyişənin dəyərlərini Jupyter Notebook -dan kopyalanan dəyərlərlə əvəz edin, dəyişən adların p_vectors, p_coefficients, vs. -dən dəyişdirilmədiyinə əmin olun. Bu tamamlandıqdan sonra faylı qeyd edin və proqramı yenidən qurmaq üçün yenidən Çalıştır seçimini seçin. qurğu. İndi duruş detektoru modulunu açmaq üçün əvvəlki kimi eyni addımları atın və təsnifatçının indi yeni təlim keçmiş modelinizlə işlədiyini görməlisiniz. Hələ yaxşı işləmirsə, daha çox məlumat yazmağı və modeli yenidən yaratmağı düşünməlisiniz. Əks halda təbrik edirik! İndi Postshirt -ə öz şəxsi təlim keçmiş təsnifatçınızı idxal etdiniz!
Tövsiyə:
Raspberry Pi və OpenCV istifadə edərək real vaxtda Rubik Cube Gözləri Bağlı Çözücü: 4 addım
Raspberry Pi və OpenCV istifadə edərək real vaxtda Rubik Cube Gözləri Bağlı Çözücü: Bu, Rubikin gözləri bağlı halda həll etmək üçün hazırladığı kub alətinin 2-ci versiyasıdır. Birinci versiya javascript tərəfindən hazırlanmışdır, RubiksCubeBlindfolded1 layihəsini görə bilərsiniz, əvvəlki versiyadan fərqli olaraq, bu versiya rəngləri aşkar etmək üçün OpenCV kitabxanasından istifadə edir
Real vaxtda su istiliyi, keçiricilik və su səviyyəsi ölçən: 6 addım (şəkillərlə)
Real Zamanlı Quyu Suyu İstiliyi, İletkenlik və Su Səviyyə Ölçmə Cihazı: Bu təlimatlar qazma quyularında temperaturun, Elektrik keçiriciliyinin (EC) və suyun səviyyəsini izləmək üçün aşağı qiymətli, real vaxt rejimində su sayğacının necə qurulacağını təsvir edir. Sayğac, qazılmış bir quyunun içərisində asmaq, suyun temperaturunu ölçmək, EC və
[Geyilə bilən Siçan] Windows 10 və Linux üçün Bluetooth əsaslı Geyilə bilən Mouse Controller: 5 Addım
[Geyinilə bilən Siçan] Windows 10 və Linux üçün Bluetooth əsaslı Geyilə bilən Siçan Nəzarətçisi: Siçan göstəricisini idarə etmək və heç bir səthə toxunmadan PC-siçanla əlaqəli əməliyyatları yerinə yetirmək üçün istifadə edilə bilən Bluetooth əsaslı siçan nəzarətçisi hazırladım. Əlcək üzərində quraşdırılmış elektron sxem, h
Geyilə bilən Ağıllı Algılama Tabanı: 13 Addım (Şəkillərlə birlikdə)
Geyinilə bilən Ağıllı Algılama Tabanı: Ayaqların tətbiq etdiyi gücün istiqamətini və paylanmasını anlamaq, zədələnmənin qarşısını almaq və müxtəlif fəaliyyətlərdə performansı qiymətləndirmək və yaxşılaşdırmaq üçün son dərəcə faydalı ola bilər. Kayak texnikamı təkmilləşdirmək və hər şeyi sevməklə
Real Pipboy / IronMan: Geyilə bilən qızdırıcı + Runner Utility Light: 10 addım
Real Pipboy / IronMan: Geyinilə bilən qızdırıcı + Runner Utility İşıq: Arxa plan: Prometey tərəfindən İnsanın Yaradılması (JM Hunt tərəfindən): " Prometey, Epimeteyə yerdəki canlılara sürət, hiylə kimi müxtəlif keyfiyyətləri vermək vəzifəsi vermişdi. , güc, xəz və qanadlar. Təəssüf ki, tərəfindən