Tartalomjegyzék:
- Kellékek
- 1. lépés: Telepítse a szükséges IDE -ket és könyvtárakat
- 2. lépés: Csatlakoztassa a gyorsulásmérőket a tollhoz
- 3. lépés: Rögzítse a gyorsulásmérőket az inghez
- 4. lépés: Kód futtatása Arduino -n
- 5. lépés: Kód futtatása Androidon
- 6. lépés: A Bluetooth jelkapcsolat tesztelése
- 7. lépés: Saját adatok gyűjtése
- 8. lépés: Adatainak oktatása a Jupyter Notebookon
- 9. lépés: Az Android -alkalmazás módosítása új modellel
Videó: Póló: Valós idejű viselhető testtartás észlelése: 9 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
A Postshirt egy valós idejű vezeték nélküli testtartás -érzékelő rendszer, amely Bluetooth -on keresztül továbbítja és osztályozza a gyorsulásmérő adatait az Adafruit Feather -ből egy Android -alkalmazásba. A teljes rendszer valós időben képes észlelni, ha a felhasználó rossz testtartást mutat, és push értesítést hoz létre, amikor a felhasználó elkezd lecsüngni, az észlelés járás közben is működik.
Kellékek
Elektronika
1 x Android okostelefon
1 x Adafruit toll
1 x lítium -ion polimer akkumulátor - 3.7v 100mAh (opcionális vezeték nélküli használathoz)
2 x ADXL335 hármas tengelyű gyorsulásmérő
Anyagok
Csatlakozó vezeték
Tekercs szalag
1. lépés: Telepítse a szükséges IDE -ket és könyvtárakat
Adafruit toll
Először telepítse az Arduino IDE -t, majd kövesse az Adafruit nRF51 BLE Library telepítésének lépéseit
Jupyter notebook
Először telepítse a Jupyter Notebook programot, majd a következő szükséges könyvtárakat
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Telepítse az Android Studio alkalmazást
Projekt kódja
Töltse le az összes projektkódot a GitHub -ból
2. lépés: Csatlakoztassa a gyorsulásmérőket a tollhoz
Az adatok leolvasásához az ADXL335 készülékekről csatlakoztassa a csatlakozóvezetéket a Vin, földelés, Xout, Yout és Zout csapokhoz. Mindkét gyorsulásmérő esetében kösse össze a Vin vezetékek másik végét a toll 3V -os tűjével, a földelőcsapok másik végét pedig a toll földelőcsapjával. Csatlakoztassa az első gyorsulásmérő Xout, Yout és Zout vezetékét a toll A0, A1 és A2 csapjaihoz. Csatlakoztassa a második gyorsulásmérő Xout, Yout és Zout vezetékét a toll A3, A4 és A5 csapjaihoz.
A gyorsulásmérők bármilyen módon csatlakoztathatók, de a vezetékek forrasztása és a hőszárítás vagy az elektromos szalag becsomagolása a csatlakozási pontok köré ajánlott, hogy megakadályozzák a szabadon lévő szakaszok érintkezését.
3. lépés: Rögzítse a gyorsulásmérőket az inghez
Szalaggal rögzítse a gyorsulásmérőket az ing hátuljára. Az A0-2 csapokhoz csatlakoztatott gyorsulásmérőt vízszintesen középre kell helyezni a hát alsó részén. Az A3-5 csapokhoz csatlakoztatott gyorsulásmérőt vízszintesen kell elhelyezni a nyak hátsó részén. Mindkét gyorsulásmérőt úgy kell beállítani, hogy a csapok az alsó oldalon legyenek, és az érzékelőket laposan kell ragasztani, és rögzíteni kell az inget.
Megjegyzés: A tartósabb viselhetőség érdekében az érzékelőket fel lehet varrni a ruházatra, de először ragasztószalaggal kell tesztelni őket, hogy az érzékelők elhelyezése hatékony legyen.
4. lépés: Kód futtatása Arduino -n
A tollról történő adatgyűjtés elindításához indítsa el az Arduino IDE -t, és nyissa meg a GestureDataSender fájlt a projektkód Arduino szakaszában. Nyissa meg ezt a fájlt, és állítsa be a táblát és a használt portot, majd válassza a "Verify" és a "Upload" lehetőséget a kód feltöltéséhez a tollba.
5. lépés: Kód futtatása Androidon
Az alkalmazás futtatásához androidon először indítsa el az Android Studio alkalmazást, majd válassza ki a lehetőséget egy meglévő Android -projekt megnyitásához. Keresse meg a projektkódot, és válassza az "Android" mappát. Az Android Studio eltart egy darabig a projektfájlok szinkronizálásához, és kérheti néhány szükséges könyvtár telepítését, fogadja el ezeket a lehetőségeket. Ha a projekt kész, csatlakoztassa az Android -eszközt a számítógéphez, és válassza ki a futtatás opciót az ablak tetején. Válassza ki az eszközt a megjelenő parancssorból, majd hagyja, hogy az alkalmazás felépüljön az eszközre.
6. lépés: A Bluetooth jelkapcsolat tesztelése
Miután megnyitotta az alkalmazást, győződjön meg arról, hogy a toll be van kapcsolva, majd válassza ki az Adafruit Bluefruit LE -t a telefonon megjelenő eszközlistából. Várjon, amíg az eszköz csatlakozik, ha a kapcsolat először sikertelen, próbálja meg újra a csatlakozást, mielőtt más hibakeresési lépéseket végez. A készülék csatlakoztatása után válassza ki a "Testtartás érzékelő" modult, amely megfelelően működve élő frissítő grafikont, valamint a testtartás és a mozgás aktuális előrejelzéseit jeleníti meg. Annak ellenőrzéséhez, hogy az arduino helyesen kommunikálja -e az érzékelő adatait, mozgassa a két gyorsulásmérőt véletlenszerű irányokba, és ellenőrizze, hogy a grafikon összes vonala megváltozik -e. Ha néhány vonal folyamatosan lapos marad, ellenőrizze, hogy a gyorsulásmérők megfelelően vannak -e csatlakoztatva a tollhoz. Ha minden működik, vegye fel az inget, és ellenőrizze, hogy a testtartás érzékelője pontosan megjósolja -e a testtartását. Gratulálunk! Sikeresen beállított egy viselhető testtartást. Folytassa ezt az útmutatót, hogy megtanulja, hogyan hozhat létre saját adatkészletet, és testreszabhatja testtartásának észlelését.
7. lépés: Saját adatok gyűjtése
A saját adatok gyűjtéséhez térjen vissza a modulválasztó képernyőre, és nyissa meg az Adatrögzítő modult. Miután ez a képernyő megnyílt, töltse ki az összegyűjtött adatok címkéjét; Annak érdekében, hogy könnyen gyakorolhassa adatait, a jó testtartással rendelkező felvételek nevében fel kell tüntetni a "jó" szót, a testtartással rendelkező felvételeknél pedig a "rossz" szót. Az adatgyűjtés megkezdéséhez érintse meg az "Adatok gyűjtése" gombot, és hajtsa végre a kívánt műveletet, ha végzett, érintse meg újra a gombot az adatok befejezéséhez és mentéséhez. Az összes rögzített adat a fájlrendszer dokumentumok mappája alatt a "GestureData" nevű mappában lesz tárolva. Amikor befejezte az összes adat rögzítését, másolja át a fájlokat a számítógépére modellképzés céljából.
8. lépés: Adatainak oktatása a Jupyter Notebookon
A kezdeti projektkód tartalmazza a Jupyter Jegyzetfüzet szakasz „adatok” mappájában az oktatáshoz használt eredeti adatokat, a saját adatok betanításához törölje a mappában található összes fájlt, majd másolja a saját adatait a mappába. Ezután futtassa a Jupyter Notebook alkalmazást, és nyissa meg a "PostureDetectorTrainer.ipynb" mappát. Ezt a notebookot úgy tervezték, hogy automatikusan elkülönítse az adatmappában található fájlokat a jó és a rossz testtartás szerint, majd egy lineáris SVM -t betanít a besorolásra a modell betanításához, egyszerűen válassza ki a "Cell" legördülő listát, és válassza a "Run All" lehetőséget. A notebook futása eltarthat egy ideig, de miután befejezte, görgessen addig a pontig, amely biztosítja a modell testtartás -előrejelzési pontosságát, ha a pontosság alacsony, akkor biztos lehet benne, hogy korábbi felvételei pontosak és következetesek. Ha az eredmények jól néznek ki, akkor görgessen a következő cellához, ahol Java osztály lett létrehozva. Görgessen a cella aljára, amíg meg nem jelenik egy paraméterként megjegyzett rész. Másolja ezeket az értékeket, ahogy szüksége lesz rájuk a következő lépésben.
9. lépés: Az Android -alkalmazás módosítása új modellel
A modell megváltoztatásához az Android alkalmazásban az Android Studio segítségével navigáljon a "PostureDetectorFragment.java" fájlhoz a projektstruktúra java szakaszában. Ebben a fájlban görgessen lefelé a "Pozícióosztályozó" -ként megjegyzett részhez, amelynek ugyanaz a 4 megfelelő változója lesz, mint a Jupyter Notebookban generált négynek. Cserélje ki ezt a 4 változó értékét a Jupyter Notebookból másolt értékekkel, ügyelve arra, hogy a változók nevei ne változzanak a p_vectors, p_coefficients stb. Értékről. Ha ez megtörtént, mentse el a fájlt, és válassza ki újra a Run (Futtatás) opciót, hogy az alkalmazást saját eszköz. Most kövesse ugyanazokat a lépéseket, mint korábban, hogy megnyissa a testtartásérzékelő modult, és látnia kell, hogy az osztályozó most dolgozik az újonnan betanított modellel. Ha még mindig úgy tűnik, hogy nem működik jól, fontolja meg a további adatok rögzítését és a modell újratelepítését. Különben gratulálok! Most importálta saját személyesen képzett osztályozóját a Postshirt -be!
Ajánlott:
Valós idejű óra modul használata (DS3231): 5 lépés
Valós idejű óramodul (DS3231) használata: A DS3231 egy olcsó, rendkívül pontos I2C valós idejű óra (RTC), beépített hőmérséklet-kompenzált kristályoszcillátorral (TCXO) és kristállyal. A készülék akkumulátor -bemenettel rendelkezik, és pontos időmérést tart fenn, amikor a fő áramellátás
Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: 4 lépés
Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: Ez a Rubik kockaeszköz 2. verziója, bekötött szemmel történő megoldásra. Az első verziót a javascript fejlesztette ki, láthatja a RubiksCubeBlindfolded1 projektet. Az előzőtől eltérően ez a verzió az OpenCV könyvtárat használja a színek és az
Valós idejű kút vízszintmérő: 6 lépés (képekkel)
Valós idejű kútvízszint-mérő: Ezek az utasítások leírják, hogyan lehet olcsó, valós idejű vízszintmérőt készíteni ásott kutakban való használatra. A vízszintmérőt úgy tervezték, hogy egy ásott kút belsejében lógjon, naponta egyszer mérje a vízszintet, és WiFi -n vagy mobilkapcsolaton keresztül küldje el az adatokat
Valós idejű kútvíz-hőmérséklet, vezetőképesség és vízszintmérő: 6 lépés (képekkel)
Valós idejű kútvíz-hőmérséklet-, vezetőképesség- és vízszintmérő: Ezek az utasítások leírják, hogyan lehet olcsó, valós idejű vízmérőt készíteni a hőmérséklet, az elektromos vezetőképesség (EC) és a vízszint figyelésére ásott kutakban. A mérőt úgy tervezték, hogy egy ásott kút belsejében lógjon, mérje a víz hőmérsékletét, EC és
Valós idejű grafikon rajzolása Androidon az Arduino-tól a HC-05-ig: 3 lépés
Valós idejű grafikon ábrázolása Androidon Arduino-tól HC-05-ig: Üdv, itt van egy oktatóanyag arról, hogyan lehet valós idejű grafikonot ábrázolni egy mikrovezérlőről, például egy Arduino-ról az alkalmazásra. Bluetooth-modult, például a HC-05-t használ üzenetküldő eszközként az adatok továbbítására és fogadására az Ar