Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Installer nødvendige IDEer og biblioteker
- Trinn 2: Koble akselerometerne til fjæren
- Trinn 3: Fest akselerometre til skjorten
- Trinn 4: Kjører kode på Arduino
- Trinn 5: Kjører kode på Android
- Trinn 6: Testing av Bluetooth -signaltilkobling
- Trinn 7: Samle dine egne data
- Trinn 8: Trening av dataene dine på Jupyter Notebook
- Trinn 9: Endre Android -applikasjon med ny modell
Video: Postshirt: Realtime Wearable Posture Detection: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Postshirt er et trådløst holdingsdeteksjonssystem i sanntid som overfører og klassifiserer akselerometerdata fra en Adafruit Feather til en Android -applikasjon via Bluetooth. Hele systemet kan oppdage i sanntid hvis brukeren har dårlig holdning og oppretter et push -varsel når brukeren begynner å slakke, deteksjonen fungerer også mens han går.
Rekvisita
Elektronikk
1 x Android -smarttelefon
1 x Adafruit fjær
1 x litiumionpolymerbatteri - 3,7v 100mAh (valgfritt for trådløs bruk)
2 x ADXL335 tre-akset akselerometer
Materialer
Tilkoblingskabel
Rulle med tape
Trinn 1: Installer nødvendige IDEer og biblioteker
Adafruit fjær
Installer først Arduino IDE og følg deretter trinnene for å installere Adafruit nRF51 BLE Library
Jupyter Notebook
Installer først Jupyter Notebook og deretter følgende nødvendige biblioteker
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Installer Android Studio
Prosjektkode
Last ned all prosjektkoden fra GitHub
Trinn 2: Koble akselerometerne til fjæren
For å lese data fra ADXL335s, kobler du tilkoblingskabelen til Vin-, jord-, Xout-, Yout- og Zout -pinnene. For begge akselerometre kobles de andre endene av Vin -ledningene til 3V -pinnen på fjæren og de andre endene av jordpinnene til jordpinnen på fjæren. Koble Xout-, Yout- og Zout -ledningene til det første akselerometeret til A0-, A1- og A2 -pinnene på fjæren. Koble Xout-, Yout- og Zout -ledningene til det andre akselerometeret til A3-, A4- og A5 -pinnene på fjæren.
Akselerometerne kan kobles til på hvilken som helst måte, men lodding av ledninger og varmekrymping eller vikling av elektrisk tape rundt tilkoblingspunktene er foreslått for å forhindre at utsatte seksjoner kommer i kontakt med hverandre.
Trinn 3: Fest akselerometre til skjorten
Fest akselerometerne bak på skjorten med tape. Akselerometeret som er koblet til pinnene A0-2, skal plasseres horisontalt midt på nedre del av ryggen. Akselerometeret som er koblet til pinnene A3-5 skal plasseres horisontalt midt bak på nakken. Begge akselerometre bør justeres slik at pinnene er langs undersiden og sensorene skal teipes flatt og festes mot skjorten.
Merk: For en mer permanent slitasje kan sensorene syes på klærne, men de skal teipes og testes først for å sikre at sensorplasseringene er effektivt plassert.
Trinn 4: Kjører kode på Arduino
For å begynne å samle data på fjæren, start Arduino IDE og åpne filen GestureDataSender under Arduino -delen av prosjektkoden. Med denne filen åpen, angi brettet og porten som brukes, og velg deretter "Bekreft" og "Last opp" for å laste opp koden til fjæren.
Trinn 5: Kjører kode på Android
For å kjøre applikasjonen på android, start først Android Studio og velg deretter alternativet for å åpne et eksisterende Android -prosjekt. Naviger til prosjektkoden og velg "Android" -mappen. Android Studio tar en stund å synkronisere prosjektfilene, og kan be om å installere noen nødvendige biblioteker. Godta disse alternativene. Når prosjektet er klart, kobler du Android -enheten til datamaskinen og velger alternativet Kjør øverst i vinduet. Velg enheten fra ledeteksten som vises, og la deretter programmet bygge til enheten.
Trinn 6: Testing av Bluetooth -signaltilkobling
Når appen er åpen, må du kontrollere at fjæren er slått på og deretter velge Adafruit Bluefruit LE fra enhetslisten som vises på telefonen. Vent til enheten er tilkoblet, hvis tilkoblingen mislykkes første gang, prøv på nytt å koble til før du tar andre feilsøkingstrinn. Etter at enheten er tilkoblet, velg modulen "Posture Detector", som hvis den fungerer som den skal, viser en live oppdateringsgraf, samt gjeldende spådommer om holdning og bevegelse. For å teste at arduinoen kommuniserer sensordata, beveg de to akselerometerene i tilfeldige retninger og sjekk om alle linjene på grafen endres. Hvis noen linjer forblir konstant flate, må du sørge for at akselerometerne er riktig koblet til fjæren. Hvis alt fungerer, legg på skjorten og test at holdningsdeteksjonen forutsier holdningen din riktig. Gratulerer! Du har konfigurert en holdbar deteksjon som kan brukes. Fortsett gjennom denne instruksen for å lære hvordan du lager ditt eget datasett og tilpasser din egen holdningsdeteksjon.
Trinn 7: Samle dine egne data
For å samle dine egne data, gå tilbake til skjermbildet for valg av modul og åpne modulen Data Recorder. Når dette skjermbildet har åpnet, fyll ut etiketten for dataene du vil samle inn. for enkelt å trene på dataene dine, bør du inkludere ordet "bra" i navnet på opptak med god holdning og "dårlig" i opptak med holdning. For å begynne å samle, trykk på "Samle data" -knappen og utfør den tiltenkte handlingen. Når du er ferdig, trykker du på knappen igjen for å fullføre og lagre dataene. Alle registrerte data vil bli lagret i en mappe med navnet "GestureData" under dokumentmappen i filsystemet ditt. Når du er ferdig med å registrere alle dataene, kopierer du filene til datamaskinen for modellopplæring.
Trinn 8: Trening av dataene dine på Jupyter Notebook
Den første prosjektkoden inneholder de originale dataene som ble brukt til opplæring i mappen "data" under Jupyter Notebook -delen, for å trene dine egne data, slett alle filene i denne mappen og kopier deretter dine egne data til mappen. Kjør deretter Jupyter Notebook og åpne "PostureDetectorTrainer.ipynb". Denne notatboken er designet for å automatisk skille alle filer i datamappen med god og dårlig holdning, og deretter trene en lineær SVM for klassifisering for å trene modellen, bare velg rullegardinmenyen "Cell" og velg "Run All". Notatboken kan ta et øyeblikk å kjøre, men når den er fullført, blar du til det punktet som gir holdningsprediksjonens nøyaktighet for modellen. Hvis nøyaktigheten er lav, vil du kanskje sørge for at dine tidligere innspillinger er nøyaktige og konsistente grunn sannheter. Hvis resultatene ser bra ut, bla til neste celle hvor en Java -klasse vil ha blitt generert. Rull til bunnen av denne cellen til du ser en del kommentert som parametere. Kopier disse verdiene som du trenger dem i neste trinn.
Trinn 9: Endre Android -applikasjon med ny modell
For å endre modellen i Android -applikasjonen, bruk Android Studio for å navigere til filen "PostureDetectorFragment.java" under java -delen av prosjektstrukturen. I denne filen blar du ned til delen som er kommentert som "Posture classifier" som vil ha de fire tilsvarende variablene som de 4 genererte i Jupyter Notebook. Erstatt disse fire variablers verdier med verdiene som er kopiert fra Jupyter Notebook, og vær sikker på at variabelnavnene ikke endres fra p_vektorer, p_koeffisienter osv. Når dette er gjort, lagrer du filen og velger alternativet Kjør igjen for å bygge programmet til din enhet. Følg nå de samme trinnene som før for å åpne Posture Detector -modulen, og du bør se klassifisereren nå arbeide med din nyopplærte modell. Hvis det fremdeles ikke ser ut til å fungere godt, bør du vurdere å registrere ytterligere data og gjenskape modellen. Ellers gratulerer! Du har nå importert din egen personlig trente klassifikator til Postshirt!
Anbefalt:
VentMan Part II: Arduino-Automated Furnace Detection for Booster Fans: 6 trinn
VentMan Part II: Arduino-Automated Furnace Detection for Booster Fans: Hovedpoeng: Dette var et midlertidig hack som ble på plass for å oppdage når AC/ovnsblåsermotoren min var i gang, slik at mine to boostervifter kunne slå seg på. Jeg trenger to boostervifter i kanalene mine for å skyve mer varm/kald luft to to isolerte soverom. Men jeg
DIY Motion Detection SMS Alarm System: 5 trinn (med bilder)
DIY Motion Detection SMS Alarm System: I dette prosjektet vil jeg kombinere en billig PIR bevegelsessensor med en TC35 GSM -modul for å bygge et alarmsystem som sender deg en "INTRUDER ALERT" SMS når noen prøver å stjele tingene dine. La oss komme i gang
[Wearable Mouse] Bluetooth-basert Wearable Mouse Controller for Windows 10 og Linux: 5 trinn
[Wearable Mouse] Bluetooth-basert Wearable Mouse Controller for Windows 10 og Linux: Jeg laget en Bluetooth-basert musekontroller som kan brukes til å kontrollere musepekeren og utføre PC-musrelaterte operasjoner i farten, uten å berøre noen overflater. Den elektroniske kretsen, som er innebygd på en hanske, kan brukes til å spore h
Wiggly Wobbly - Se lydbølgene !! Realtime Audio Visualizer !!: 4 trinn
Wiggly Wobbly - Se lydbølgene !! Real Time Audio Visualizer !!: Har du noen gang lurt på hvordan Beetle -sangene ser ut ?? Eller vil du bare se hvordan en lyd ser ut? Så ikke bekymre deg, jeg er her for å hjelpe deg med å gjøre det igjen! Få høyttaleren høy og sikte på den falmede
Cryptocurrency Ticker / Realtime Youtube Subscriber Counter: 6 trinn (med bilder)
Cryptocurrency Ticker / Realtime Youtube Subscriber Counter: Kompakt LED -displayenhet som fungerer som kryptokurrency -ticker og fungerer som en YouTube -abonnentteller i sanntid. I dette prosjektet bruker vi en Raspberry Pi Zero W, noen 3D -trykte deler og et par max7219 displayenheter å lage et sanntids su