Turinys:

Pašto marškinėliai: nešiojamos laikysenos aptikimas realiuoju laiku: 9 žingsniai
Pašto marškinėliai: nešiojamos laikysenos aptikimas realiuoju laiku: 9 žingsniai

Video: Pašto marškinėliai: nešiojamos laikysenos aptikimas realiuoju laiku: 9 žingsniai

Video: Pašto marškinėliai: nešiojamos laikysenos aptikimas realiuoju laiku: 9 žingsniai
Video: Kalnas pirkinių: Mamų mugė, Zalando, Vinted, sau ir vaikams 2024, Liepa
Anonim
Image
Image
Pašto marškinėliai: nešiojamos laikysenos aptikimas realiuoju laiku
Pašto marškinėliai: nešiojamos laikysenos aptikimas realiuoju laiku

„Postshirt“yra belaidė laikysenos aptikimo sistema realiuoju laiku, perduodanti ir klasifikuojanti akselerometro duomenis iš „Adafruit Feather“į „Android“programą per „Bluetooth“. Visa sistema gali aptikti realiuoju laiku, jei vartotojas turi blogą laikyseną, ir sukuria įspėjamąjį pranešimą, kai vartotojas pradeda slinkti, aptikimas veikia ir einant.

Prekės

Elektronika

1 x „Android“išmanusis telefonas

1 x „Adafruit“plunksna

1 x ličio jonų polimerų baterija - 3.7v 100mAh (neprivaloma naudoti belaidžiu būdu)

2 x trijų ašių akselerometras ADXL335

Medžiagos

Prijungimo viela

Juostos ritinys

1 veiksmas: įdiekite būtinus IDE ir bibliotekas

Adafruit plunksna

Pirmiausia įdiekite „Arduino IDE“ir atlikite „Adafruit nRF51 BLE Library“diegimo veiksmus

Užrašų knygelė „Jupyter“

Pirmiausia įdiekite „Jupyter Notebook“, o tada reikiamas bibliotekas

  • https://scikit-learn.org/stable/
  • https://github.com/nok/sklearn-porter

„Android“

Įdiekite „Android Studio“

Projekto kodas

Atsisiųskite visą projekto kodą iš „GitHub“

2 žingsnis: prijunkite akselerometrus prie plunksnos

Prijunkite akselerometrus prie plunksnos
Prijunkite akselerometrus prie plunksnos
Prijunkite akselerometrus prie plunksnos
Prijunkite akselerometrus prie plunksnos

Norėdami nuskaityti duomenis iš ADXL335, prijunkite prijungimo laidą prie „Vin“, „ground“, „Xout“, „Yout“ir „Zout“kaiščių. Abiems akselerometrams prijunkite kitus „Vin“laidų galus prie plunksnos 3V kaiščio, o kitus įžeminimo kaiščių galus prie plunksnos įžeminimo kaiščio. Prijunkite pirmojo akselerometro Xout, Yout ir Zout laidus prie plunksnos A0, A1 ir A2 kaiščių. Prijunkite antrojo akselerometro Xout, Yout ir Zout laidus prie plunksnos A3, A4 ir A5 kaiščių.

Akselerometrai gali būti prijungti bet kokiu būdu, tačiau siūloma lituoti laidus ir šilumą susitraukti arba apvynioti elektros juostą aplink jungties taškus, kad būtų išvengta atvirų sekcijų kontakto.

3 žingsnis: prie marškinėlių pritvirtinkite akselerometrus

Prie marškinėlių pritvirtinkite akselerometrus
Prie marškinėlių pritvirtinkite akselerometrus

Naudodami juostą, akselerometrus pritvirtinkite prie marškinių galo. Akselerometras, prijungtas prie kaiščių A0-2, turėtų būti horizontaliai centre, apatinėje nugaros dalyje. Akselerometras, prijungtas prie kaiščių A3-5, turėtų būti horizontaliai centre kaklo gale. Abu akselerometrai turi būti sulygiuoti taip, kad kaiščiai būtų išilgai apatinės pusės, o jutikliai turėtų būti pritvirtinti plokščia juosta ir tvirtai pritvirtinti prie marškinių.

Pastaba: Kad nešiojimas būtų patvaresnis, jutiklius galima prisiūti prie drabužių, tačiau pirmiausia juos reikia užklijuoti lipnia juosta ir išbandyti, kad būtų užtikrinta, jog jutiklių vietos būtų tinkamai išdėstytos.

4 veiksmas: paleiskite kodą „Arduino“

„Arduino“veikimo kodas
„Arduino“veikimo kodas

Norėdami pradėti rinkti duomenis apie plunksną, paleiskite „Arduino IDE“ir atidarykite failą „GestureDataSender“projekto kodo skiltyje „Arduino“. Atidarę šį failą, nustatykite naudojamą plokštę ir prievadą, tada pasirinkite „Patvirtinti“ir „Įkelti“, kad įkeltumėte kodą į plunksną.

5 veiksmas: paleiskite kodą „Android“

Vykdymo kodas „Android“
Vykdymo kodas „Android“

Norėdami paleisti programą „Android“, pirmiausia paleiskite „Android Studio“ir pasirinkite parinktį atidaryti esamą „Android“projektą. Eikite į projekto kodą ir pasirinkite aplanką „Android“. „Android Studio“užtruks šiek tiek laiko, kol bus sinchronizuojami projekto failai, ir gali paprašyti įdiegti kai kurias reikalingas bibliotekas, sutikite su šiomis parinktimis. Kai projektas bus paruoštas, prijunkite „Android“įrenginį prie kompiuterio ir lango viršuje pasirinkite paleidimo parinktį. Rodomame raginime pasirinkite įrenginį ir leiskite programai kurti prie įrenginio.

6 veiksmas: „Bluetooth“signalo ryšio testavimas

Bandomas „Bluetooth“signalo ryšys
Bandomas „Bluetooth“signalo ryšys
Bandomas „Bluetooth“signalo ryšys
Bandomas „Bluetooth“signalo ryšys
Bandomas „Bluetooth“signalo ryšys
Bandomas „Bluetooth“signalo ryšys

Kai programa bus atidaryta, įsitikinkite, kad plunksna yra įjungta, tada telefone rodomame įrenginių sąraše pasirinkite „Adafruit Bluefruit LE“. Prieš pradėdami kitus derinimo veiksmus, palaukite, kol įrenginys prisijungs, kai pirmą kartą nepavyksta prisijungti. Prijungę įrenginį, pasirinkite modulį „Laikysenos detektorius“, kuris tinkamai veikiant parodys tiesioginio atnaujinimo grafiką, taip pat dabartines laikysenos ir judesio prognozes. Norėdami patikrinti, ar arduino teisingai perduoda jutiklio duomenis, perkelkite du akselerometrus atsitiktine kryptimi ir patikrinkite, ar nesikeičia visos diagramos eilutės. Jei kai kurios linijos išlieka plokščios, įsitikinkite, kad akselerometrai tinkamai prijungti prie plunksnos. Jei viskas veikia, apsivilkite marškinius ir patikrinkite, ar laikysenos aptikimas teisingai numato jūsų laikyseną. Sveikinu! Sėkmingai nustatėte nešiojamą laikysenos aptikimą. Tęskite šią instrukciją, kad sužinotumėte, kaip sukurti savo duomenų rinkinį ir tinkinti savo laikysenos aptikimą.

7 veiksmas: savo duomenų rinkimas

Savo duomenų rinkimas
Savo duomenų rinkimas
Savo duomenų rinkimas
Savo duomenų rinkimas

Norėdami surinkti savo duomenis, grįžkite į modulio pasirinkimo ekraną ir atidarykite duomenų įrašymo modulį. Kai šis ekranas bus atidarytas, užpildykite surinktų duomenų etiketę; kad galėtumėte lengvai išmokti savo duomenis, visų įrašų, kurių laikysena gera, pavadinime turite įrašyti žodį „geras“, o į bet kokius laikysenos įrašus - „blogas“. Norėdami pradėti rinkti, bakstelėkite mygtuką „Rinkti duomenis“ir atlikite numatytą veiksmą, kai baigsite, dar kartą bakstelėkite mygtuką, kad užbaigtumėte ir išsaugotumėte duomenis. Visi įrašyti duomenys bus saugomi aplanke pavadinimu „GestureData“, esančiame jūsų failų sistemos dokumentų aplanke. Kai baigsite įrašyti visus savo duomenis, nukopijuokite failus į savo kompiuterį modelio mokymui.

8 žingsnis: Mokykite savo duomenis „Jupyter Notebook“

„Jupyter“nešiojamojo kompiuterio duomenų mokymas
„Jupyter“nešiojamojo kompiuterio duomenų mokymas
„Jupyter“nešiojamojo kompiuterio duomenų mokymas
„Jupyter“nešiojamojo kompiuterio duomenų mokymas

Pradiniame projekto kode yra originalūs duomenys, naudojami mokymui aplanke „duomenys“, esančiame „Jupyter Notebook“skyriuje, mokant savo duomenis, ištrinkite visus šio aplanko failus ir nukopijuokite savo duomenis į aplanką. Tada paleiskite „Jupyter Notebook“ir atidarykite „PostureDetectorTrainer.ipynb“. Šis nešiojamasis kompiuteris sukurtas taip, kad automatiškai atskirtų visus failus, esančius duomenų aplanke, pagal gerą ir blogą laikyseną, o tada išmokyti linijinio SVM klasifikacijai, kad būtų išmokytas modelis, tiesiog pasirinkite išskleidžiamąjį meniu „Langelis“ir pasirinkite „Vykdyti viską“. Nešiojamojo kompiuterio paleidimas gali užtrukti, bet kai baigsite, slinkite iki taško, kuris užtikrina modelio laikysenos prognozavimo tikslumą, jei tikslumas yra mažas, galbūt norėsite įsitikinti, kad ankstesni įrašai yra tikslūs ir nuoseklūs. Jei rezultatai atrodo gerai, slinkite į kitą langelį, kuriame bus sukurta „Java“klasė. Slinkite iki šio langelio apačios, kol pamatysite dalį, pakomentuotą kaip parametrus. Nukopijuokite šias vertes, nes jums jų prireiks kitame žingsnyje.

9 veiksmas: „Android“programos modifikavimas nauju modeliu

„Android“programos modifikavimas nauju modeliu
„Android“programos modifikavimas nauju modeliu

Norėdami pakeisti modelį „Android“programoje, naudokite „Android Studio“, kad projekto struktūros java skyriuje pereitumėte prie failo „PostureDetectorFragment.java“. Šiame faile slinkite žemyn į skiltį, pakomentuotą kaip „Laikysenos klasifikatorius“, kurioje bus tie patys 4 atitinkami kintamieji, kaip ir 4, sukurti „Jupyter Notebook“. Pakeiskite šių 4 kintamųjų reikšmes reikšmėmis, nukopijuotomis iš „Jupyter Notebook“, įsitikindami, kad kintamųjų pavadinimai nėra pakeisti iš p_vectors, p_coefficients ir tt. Kai tai bus padaryta, išsaugokite failą ir dar kartą pasirinkite Vykdyti, kad sukurtumėte programą savo prietaisas. Dabar atlikite tuos pačius veiksmus, kaip ir anksčiau, kad atidarytumėte laikysenos detektoriaus modulį, ir dabar turėtumėte pamatyti klasifikatorių, dirbantį su naujai apmokytu modeliu. Jei vis tiek neatrodo gerai, turėtumėte apsvarstyti galimybę įrašyti tolesnius duomenis ir iš naujo sukurti modelį. Priešingu atveju sveikinu! Dabar į „Postshirt“importavote savo asmeniškai apmokytą klasifikatorių!

Rekomenduojamas: