Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Installer nødvendige IDE'er og biblioteker
- Trin 2: Led accelerometerene til fjer
- Trin 3: Fastgør accelerometre til skjorte
- Trin 4: Kørsel af kode på Arduino
- Trin 5: Kørsel af kode på Android
- Trin 6: Test af Bluetooth -signalforbindelse
- Trin 7: Indsamling af dine egne data
- Trin 8: Træning af dine data på Jupyter Notebook
- Trin 9: Ændring af Android -applikation med ny model
Video: Postshirt: Realtime Wearable Posture Detection: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Postshirt er et trådløst system til detektering af kropsholdning i realtid, der sender og klassificerer accelerometerdata fra en Adafruit Feather til en Android -applikation via Bluetooth. Hele systemet kan registrere i realtid, hvis brugeren har en dårlig kropsholdning og opretter en push -meddelelse, når brugeren begynder at slakke, detektionen fungerer også, mens han går.
Forbrugsvarer
Elektronik
1 x Android -smartphone
1 x Adafruit fjer
1 x litiumionpolymerbatteri - 3,7v 100mAh (valgfrit til trådløs brug)
2 x ADXL335 triple-axis accelerometer
Materialer
Tilslutningstråd
Rulle tape
Trin 1: Installer nødvendige IDE'er og biblioteker
Adafruit fjer
Installer først Arduino IDE, og følg derefter trinene for at installere Adafruit nRF51 BLE -bibliotek
Jupyter notesbog
Installer først Jupyter Notebook og derefter følgende påkrævede biblioteker
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Installer Android Studio
Projektkode
Download hele projektkoden fra GitHub
Trin 2: Led accelerometerene til fjer
For at aflæse data fra ADXL335'erne forbindes tilslutningskablet til Vin-, jord-, Xout-, Yout- og Zout -stifterne. For begge accelerometre forbindes de andre ender af Vin -ledningerne til 3V -stiften på fjeren og de andre ender af jordstifterne til jordstiften på fjeren. Tilslut Xout-, Yout- og Zout -ledningerne på det første accelerometer til A0-, A1- og A2 -benene på fjeren. Tilslut Xout-, Yout- og Zout -ledningerne på det andet accelerometer til A3-, A4- og A5 -benene på fjeren.
Accelerometerne kan tilsluttes på enhver måde, men lodning af ledninger og varmekrympning eller indpakning af elektrisk tape omkring forbindelsespunkterne foreslås for at forhindre udsatte sektioner i at komme i kontakt med hinanden.
Trin 3: Fastgør accelerometre til skjorte
Ved hjælp af tape fastgør du accelerometre bag på skjorten. Accelerometeret, der er forbundet til ben A0-2, skal placeres vandret i midten i midten af nedre del af ryggen. Accelerometeret, der er forbundet til stifterne A3-5, skal placeres vandret i midten bag på nakken. Begge accelerometre skal justeres, så stifterne er langs undersiden, og sensorerne skal tapes fladt og fastgøres mod trøjen.
Bemærk: For en mere permanent slid kan sensorerne sys på tøjet, men de skal tapes og testes først for at sikre, at sensorplaceringerne er effektivt placeret.
Trin 4: Kørsel af kode på Arduino
For at begynde at indsamle data om fjeren skal du starte Arduino IDE og åbne filen GestureDataSender under Arduino -sektionen i projektkoden. Med denne fil åben skal du indstille kortet og den port, der bruges, og vælg derefter "Bekræft" og "Upload" for at uploade koden til fjer.
Trin 5: Kørsel af kode på Android
For at køre applikationen på Android skal du først starte Android Studio og derefter vælge muligheden for at åbne et eksisterende Android -projekt. Naviger til projektkoden, og vælg mappen "Android". Android Studio tager et stykke tid at synkronisere projektfilerne og kan anmode om at installere nogle nødvendige biblioteker, accepter disse muligheder. Når projektet er klart, skal du tilslutte Android -enheden til computeren og vælge indstillingen Kør øverst i vinduet. Vælg enheden fra den prompt, der vises, og lad derefter programmet bygge til enheden.
Trin 6: Test af Bluetooth -signalforbindelse
Når appen er åben, skal du kontrollere, at fjer er tændt, og derefter vælge Adafruit Bluefruit LE fra enhedslisten, der vises på telefonen. Vent på, at enheden opretter forbindelse, hvis forbindelsen mislykkes første gang, prøv igen at oprette forbindelse, før du tager andre fejlfindingstrin. Efter at enheden er blevet tilsluttet, vælges modulet "Posture Detector", der, hvis det fungerer korrekt, viser en live opdateringsgraf samt de aktuelle forudsigelser om kropsholdning og bevægelse. For at teste, at arduino kommunikerer sensordata, skal du flytte de to accelerometre korrekt i tilfældige retninger og kontrollere, om alle linjerne på grafen ændres. Hvis nogle linjer forbliver konstant flade, skal du sørge for, at accelerometrene er korrekt forbundet til fjeren. Hvis alt fungerer, skal du tage trøjen på og teste, at detekteringen af kropsholdning korrekt forudsiger din kropsholdning. Tillykke! Du har med succes opsat en holdbarhedsdetektering. Fortsæt gennem denne instruks for at lære, hvordan du opretter dit eget datasæt og tilpasser din egen kropsdetektering.
Trin 7: Indsamling af dine egne data
For at indsamle dine egne data vender du tilbage til skærmen til valg af modul og åbner modulet Data Recorder. Når denne skærm er åbnet, skal du udfylde etiketten for de data, du vil indsamle; for let at træne på dine data bør du inkludere ordet "godt" i navnet på alle optagelser med god kropsholdning og "dårlig" i alle optagelser med kropsholdning. For at begynde at indsamle skal du trykke på knappen "Indsaml data" og udføre den påtænkte handling. Når du er færdig, skal du trykke på knappen igen for at afslutte og gemme dataene. Alle de registrerede data gemmes i en mappe med navnet "GestureData" under dokumentmappen i dit filsystem. Når du er færdig med at registrere alle dine data, skal du kopiere filerne til din computer til modeltræning.
Trin 8: Træning af dine data på Jupyter Notebook
Den oprindelige projektkode indeholder de originale data, der blev brugt til træning i mappen "data" under afsnittet Jupyter Notebook, for at træne dine egne data slette alle filerne i denne mappe og derefter kopiere dine egne data til mappen. Kør derefter Jupyter Notebook og åbn "PostureDetectorTrainer.ipynb". Denne notesbog er designet til automatisk at adskille alle filer i datamappen ved god og dårlig kropsholdning og derefter træne en lineær SVM til klassificering til at træne modellen, vælg blot rullemenuen "Celle" og vælg "Kør alle". Den bærbare computer kan tage et øjeblik at køre, men når den er færdig, skal du rulle til det punkt, der giver nøjagtigheden til forudsigelse af kropsholdning for modellen, og hvis nøjagtigheden er lav, vil du muligvis sikre, at dine tidligere optagelser er nøjagtige og konsistente grundsandheder. Hvis resultaterne ser godt ud, skal du rulle til den næste celle, hvor der vil være genereret en Java -klasse. Rul til bunden af denne celle, indtil du ser en del kommenteret som parametre. Kopier disse værdier, da du får brug for dem i det næste trin.
Trin 9: Ændring af Android -applikation med ny model
Hvis du vil ændre modellen i Android -applikationen, skal du bruge Android Studio til at navigere til filen "PostureDetectorFragment.java" under java -afsnittet i projektstrukturen. I denne fil skal du rulle ned til afsnittet kommenteret som "Posture classifier", som vil have de samme 4 tilsvarende variabler som de 4 genereret i Jupyter Notebook. Udskift disse 4 variabels værdier med de værdier, der er kopieret fra Jupyter Notebook, og sørg for, at variabelnavnene ikke ændres fra p_vektorer, p_koefficienter osv. Når dette er gjort, gemmer du filen og vælger Kør igen for at oprette programmet til din enhed. Følg nu de samme trin som før for at åbne Posture Detector -modulet, og du skal se klassifikatoren nu arbejde med din nyuddannede model. Hvis det stadig ikke ser ud til at fungere godt, bør du overveje at optage yderligere data og genskabe modellen. Ellers tillykke! Du har nu importeret din egen personligt uddannede klassifikator til Postshirt!
Anbefalede:
VentMan Part II: Arduino-Automated Furnace Detection for Booster Fans: 6 trin
VentMan Part II: Arduino-Automated Furnace Detection for Booster Fans: Hovedpunkter: Dette var et midlertidigt hack sat på plads for at opdage, hvornår min AC/ovnsblæsermotor kørte, så mine to booster fans kunne tænde. Jeg har brug for to boosterventilatorer i mit kanalarbejde for at skubbe mere varm/kølig luft til to to isolerede soveværelser. Men jeg
COVID-19 Realtime Tracker til ESP32: 3 trin
COVID-19 Realtime Tracker til ESP32: Denne lille tracker hjælper dig med at være opdateret om corona-virusudbruddet og situationen i dit land. Displayet viser vekslende aktuelle data fra forskellige lande efter eget valg. Dataene indsamles af webstedet www.wo
[Wearable Mouse] Bluetooth-baseret Wearable Mouse Controller til Windows 10 og Linux: 5 trin
[Wearable Mouse] Bluetooth-baseret Wearable Mouse Controller til Windows 10 og Linux: Jeg lavede en Bluetooth-baseret musecontroller, der kan bruges til at styre musemarkøren og udføre pc-mus-relaterede operationer i farten, uden at røre nogen overflader. Det elektroniske kredsløb, der er integreret på en handske, kan bruges til at spore h
Realtime MPU-6050/A0 datalogning med Arduino og Android: 7 trin (med billeder)
Realtime MPU-6050/A0 datalogning med Arduino og Android: Jeg har været interesseret i at bruge Arduino til maskinlæring. Som et første trin vil jeg bygge en realtime (eller temmelig tæt på det) datavisning og logger med en Android -enhed. Jeg vil fange accelerometerdata fra MPU-6050, så jeg designer
Cryptocurrency Ticker / Realtime Youtube Subscriber Counter: 6 trin (med billeder)
Cryptocurrency Ticker / Realtime Youtube Subscriber Counter: Kompakt LED -displayenhed, der fungerer som kryptokurrency -ticker og fungerer som en realtime YouTube -abonnenttæller. I dette projekt bruger vi en Raspberry Pi Zero W, nogle 3D -printede dele og et par max7219 displayenheder at oprette en realtime su