ST logoUM2201
Kasutusjuhend

NUCLEO-F401RE MotionGR reaalajas žestide tuvastamise teek

MotionGR-i reaalajas liigutuste tuvastamise teegiga alustamine X-CUBEMEMS1 laienduses STM32Cube'i jaoks

Sissejuhatus
MotionGR on vahevara raamatukogu osa X-CUBE-MEMS1 tarkvara ja töötab STM32-s. See pakub reaalajas teavet
žesti kohta, mille kasutaja just seadmega (nt mobiiltelefoniga) tegi.
See suudab eristada järgmisi žeste: tõstke üles, vaadake, ärkama.
See teek on mõeldud töötama ainult ST MEMS-iga.
Algoritm on staatilise teegi vormingus ja mõeldud kasutamiseks STM32 mikrokontrolleritel, mis põhinevad ARM® Cortex® -M3, ARM® Cortex® -M33, ARM® Cortex® -M4 või ARM® Cortex® -M7 arhitektuuril.
See on ehitatud peale STM32 Cube tarkvaratehnoloogia, mis hõlbustab kaasaskantavust erinevate STM32 mikrokontrollerite vahel.
Tarkvaraga on kaasas sample rakendamine käib X-NUCLEO-IKS4A1 or X-NUCLEO-IKS01A3 laiendusplaat a-l NUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE arengukomisjon.

Akronüümid ja lühendid

Tabel 1. Akronüümide loend

Akronüüm Kirjeldus
API Rakenduse programmeerimisliides
BSP Juhatuse tugipakett
GUI Graafiline kasutajaliides
HAL Riistvara abstraktsioonikiht
IDE Integreeritud arenduskeskkond

MotionGR vahevara raamatukogu X-CUBE-MEMS1 tarkvaralaienduses STM32Cube'i jaoks

2.1 MotionGR läbiview
MotionGR-i teek laiendab selle funktsionaalsust X-CUBE-MEMS1 tarkvara.
Teek hangib andmeid kiirendusmõõturilt ja annab teavet kasutaja poolt seadmega äsja sooritatud žesti kohta.
Teek on mõeldud ainult ST MEMS-i jaoks. Funktsionaalsust ja jõudlust teiste MEMS-andurite kasutamisel ei analüüsita ning need võivad dokumendis kirjeldatust oluliselt erineda.
Sample rakendamine on saadaval X-NUCLEO-IKS4A1 ja X-NUCLEO-IKS01A3 laiendusplaadid, mis on paigaldatud a NUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE arengukomisjon.

2.2 MotionGR teek
MotionGR API-de funktsioone ja parameetreid täielikult kirjeldava tehnilise teabe leiate MotionGR_Package.chm koostatud HTML-ist file asub kaustas Dokumentatsioon.

2.2.1 MotionGR teegi kirjeldus
MotionGR-i liigutuste tuvastamise teek haldab kiirendusmõõturilt kogutud andmeid; sellel on:

  • võimalus eristada järgmisi tegevusi: korja, pilk, ärka
  • tuvastamine ainult kiirendusmõõturi andmete põhjal
  • nõutavad kiirendusmõõturi andmed samplingi sagedus on 50 Hz
  • nõuded ressurssidele:
    – Cortex-M3: 10.0 kB koodi ja 4.4 kB andmemälu
    – Cortex-M33: 10.1 kB koodi ja 4.4 kB andmemälu
    – Cortex-M4: 10.2 kB koodi ja 4.4 kB andmemälu
    – Cortex-M7: 10.3 kB koodi ja 4.4 kB andmemälu
  • saadaval ARM® Cortex®-M3, ARM® Cortex® -M33, ARM® Cortex® -M4 ja ARM® Cortex® -M7 arhitektuuridele

2.2.2 MotionGR API-d
MotionGR teegi API-d on järgmised:

  • uint8_t MotionGR_GetLibVersion(char *version)
    – hangib teegi versiooni
    – *versioon on kursor 35 märgist koosnevale massiivile
    – tagastab versioonistringis olevate märkide arvu
  • void MotionGR_Initialize(void)
    – teostab MotionGR-i teegi lähtestamise ja sisemise mehhanismi seadistamise

Märkus. See funktsioon tuleb välja kutsuda enne liigutuste tuvastamise teegi kasutamist ja CRC-moodul STM32 mikrokontrolleris (RCC välisseadmete kella lubamise registris) peab olema lubatud.

  • void MotionGR_Update(MGR_input_t *data_in, MGR_output_t *data_out)
    – käivitab žestituvastusalgoritmi
    – parameeter *data_in on kursor sisendandmetega struktuurile
    – struktuuritüübi MGR_input_t parameetrid on järgmised:
    ◦ AccX on kiirendusmõõturi anduri väärtus X-teljel grammides
    ◦ AccY on kiirendusmõõturi anduri väärtus Y-teljel grammides
    ◦ AccZ on kiirendusmõõturi anduri väärtus Z-teljel grammides
    – parameeter *data_out on osuti loendile, mis sisaldab järgmisi üksusi:
    ◦ MGR_NOGESTURE = 0
    ◦ MGR_PICKUP = 1
    ◦ MGR_GLANCE = 2
    ◦ MGR_WAKEUP = 3
  • void MotionGR_SetOrientation_Acc (const char *acc_orientation)
    – seda funktsiooni kasutatakse kiirendusmõõturi andmete orientatsiooni määramiseks
    – konfigureerimine tehakse tavaliselt kohe pärast funktsiooni MotionGR_Initialize kutsumist
    – *acc_orientation parameeter on kursor kolmest märgist koosnevale stringile, mis näitab kiirendusmõõturi andmete väljastamiseks kasutatava võrdlusraami iga positiivse orientatsiooni suunda järjestuses x, y, z. Kehtivad väärtused on: n (põhja) või s (lõuna), w (lääne) või e (ida), u (üles) või d (alla).
    – Nagu on näidatud alloleval joonisel, on kiirendusmõõturi X-NUCLEO-IKS4A1 anduril SEU (x – lõuna, y – ida, z – üles), seega on string: “seu”.

Joonis 1. Näideampandurite orientatsioonidestST NUCLEO F401RE MotionGR reaalajas žestituvastuse teek – ntampandurite orientatsioonidest

2.2.3 API vooskeem

Joonis 2. MotionGR API loogikajadaST NUCLEO F401RE MotionGR reaalajas žestide tuvastamise teek – API vooskeem

2.2.4 Demokood
Järgmine demonstratsioonikood loeb andmeid kiirendusmõõturi andurilt ja hangib žestikoodi.

ST NUCLEO F401RE MotionGR reaalajas žestide tuvastamise teek – demokood

2.2.5 Algoritmi jõudlus
Žestituvastusalgoritm kasutab ainult kiirendusmõõturi andmeid ja töötab madalal sagedusel (50 Hz), et vähendada energiatarbimist.

See tuvastab ja pakub reaalajas teavet järgmiste kasutajaliigutuste kohta:

  • korjama: laua tõstmine/tõstmine laualt;
  • pilk: tahvli umbes 30° pööramine, mis sarnaneb telefoni pööramisega, et sellele pilku heita;
  • ärkama: raputav tegevus.

Tabel 2. Algoritmi kulumisaeg (µs) Cortex-M4, Cortex-M3

Cortex-M4 STM32F401RE sagedusel 84 MHz Cortex-M3 STM32L152RE sagedusel 32 MHz
Min Keskm Max Min Keskm Max
136 240 341 473 870 1235

Tabel 3. Algoritmi kulumisaeg (µs) Cortex-M33 ja Cortex-M7

Cortex-M33 STM32U575ZI-Q sagedusel 160 MHz Cortex-M7 STM32F767ZI sagedusel 96 MHz
Min Keskm Max Min Keskm Max
87 140 191 459 504 808

2.3 Sample rakendus
MotionGR vahevara saab kasutajarakenduste loomiseks hõlpsasti manipuleerida; naguampRakendus on kaustas Rakendus.

See on mõeldud töötama a NUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE arendusplaat, mis on ühendatud X-NUCLEO-IKS4A1 või X-NUCLEO-IKS01A3 laiendusplaadiga.
Rakendus tuvastab sooritatud žestid reaalajas.

Joonis 3. STM32 Nucleo: LEDid, nupp, hüppajaST NUCLEO F401RE MotionGR reaalajas žestide tuvastamise teek – LED-nupu hüppaja

Ülaltoodud joonisel on NUCLEO-F1RE plaadi kasutajanupp B401 ja kolm LED-i. Kui plaat on sisse lülitatud, lülitub LED LD3 (PWR) sisse.
Reaalajas andmete jälgimiseks on vaja USB-kaabli ühendust. Tahvel saab toite arvutist USB-ühenduse kaudu. See töörežiim võimaldab kasutajal kuvada tuvastatud žesti, kiirendusmõõturi andmeid, kellaaegaamp ja lõpuks muud anduri andmed reaalajas, kasutades MEMS-stuudio.

2.4 MEMS Studio rakendus
Sample rakendus kasutab MEMS-stuudio rakendus, mille saab alla laadida www.st.com.
Samm 1. Veenduge, et vajalikud draiverid on installitud ja STM32 Nucleo sobiva laiendusplaadiga plaat on arvutiga ühendatud.

2. samm. Käivitage MEMS-stuudio rakenduse põhiakna avamiseks.
Kui arvutiga on ühendatud toetatud püsivaraga STM32 Nucleo plaat, tuvastatakse see automaatselt.
Hindamispaneeliga ühenduse loomiseks vajutage nuppu [Connect].

Joonis 4. MEMS-Studio – ÜhendaST NUCLEO F401RE MotionGR reaalajas žestide tuvastamise teek – MEMS-Studio – ühenda

3. samm. Toetatud püsivaraga STM32 Nucleo plaadiga ühendamisel avaneb vahekaart [Library Evaluation].

Andmete voogesituse alustamiseks ja peatamiseks lülitage sisse sobiv [Start] ST NUCLEO F401RE MotionGR reaalajas žestituvastuse teek – ikoon 1 või [Stopp] ST NUCLEO F401RE MotionGR reaalajas žestituvastuse teek – ikoon 2 nuppu välimisel vertikaalsel tööriistaribal.
Ühendatud andurilt tulevad andmed võivad olla viewed valides sisemisel vertikaalsel tööriistaribal vahekaardi [Andmete tabel].

Joonis 5. MEMS-Studio – raamatukogu hindamine – andmetabelST NUCLEO F401RE MotionGR reaalajas žestide tuvastamise teek – raamatukogu hindamine – andmetabel

4. samm. Spetsiaalse rakenduse akna avamiseks klõpsake [Gesture Recognition].

Joonis 6. MEMS-Studio – raamatukogu hindamine – žestituvastusST NUCLEO F401RE MotionGR reaalajas žestituvastuse teek – žestituvastus

5. samm. Klõpsake [Save To File], et avada andmelogimise konfiguratsiooniaken. Valige anduri ja liigutuste tuvastamise andmed, mida soovite salvestada file. Salvestamist saate alustada või lõpetada, klõpsates vastavat nuppu.

Joonis 7. MEMS-Studio – Library Evaluation – Save To FileST NUCLEO F401RE MotionGR reaalajas žestide tuvastamise teek – raamatukogu hindamine – salvestada File

6. samm. Data Injection režiimi saab kasutada eelnevalt kogutud andmete teeki saatmiseks ja tulemuse vastuvõtmiseks. Valige vertikaalsel tööriistaribal vahekaart [Andmete sisestamine], et avada spetsiaalne view selle funktsiooni jaoks.

Joonis 8. MEMS-Studio – Library Evaluation – Data InjectionST NUCLEO F401RE MotionGR reaalajas žestide tuvastamise teek – raamatukogu hindamine – andmete sisestamine

7. samm. Valimiseks klõpsake nuppu [Sirvi] file varem jäädvustatud andmetega CSV-vormingus.
Andmed laaditakse tabelisse jooksvalt view.
Teised nupud muutuvad aktiivseks. Võite klõpsata:
– Nupp [Võrguühenduseta režiim] püsivara võrguühenduseta režiimi sisse/välja lülitamiseks (režiim, mis kasutab varem salvestatud andmeid).
– Nupud [Start]/[Stopp]/[Step]/[Repeat] MEMS-Studio andmeedastuse juhtimiseks teeki.

Viited

Kõik järgmised ressursid on saidil www.st.com vabalt saadaval.

  1. UM1859: X-CUBE-MEMS1 liikumis-MEMS-i ja keskkonnaanduri tarkvara laiendusega alustamine STM32Cube'i jaoks
  2. UM1724: STM32 Nucleo-64 plaadid (MB1136)
  3. UM3233: MEMS-Studioga alustamine

Läbivaatamise ajalugu

Tabel 4. Dokumendi redaktsioonide ajalugu

Kuupäev Versioon Muudatused
06. juuni 2017 1 Esialgne vabastamine.
26. jaanuar 2018 2 Lisatud viited NUCLEO-L152RE arendusplaadile ja tabel 2. Kulunud aja (μs) algoritm.
20. märts 2018 3 Uuendatud sissejuhatus ja jaotis 2.1 MotionGR on läbiview.
21. veebruar 2019 4 Uuendatud joonis 1. Näitampandurite orientatsioonide le, tabel 2. Kulunud aja (µs) algoritm ja joonis 3. STM32 Nucleo: LEDid, nupp, hüppaja.
Lisatud X-NUCLEO-IKS01A3 laiendusplaadi ühilduvuse teave.
24. märts 2020 5 Värskendatud sissejuhatus, jaotis 2.2.1 MotionGR teegi kirjeldus ja jaotis 2.2.5 Algoritmi jõudlus.
Lisatud on teave ARM Cortex-M7 arhitektuuri ühilduvuse kohta.
17-2024-XNUMX 6 Uuendatud Jao sissejuhatus, Jaotis 2.1: MotionGR on üleview, Jaotis 2.2.1: MotionGR-i teek kirjeldus, Jaotis 2.2.2: MotionGR API-d, Jaotis 2.2.5: Algoritmi jõudlus, 2.3. jaotis: Sample rakendus, Jaotis 2.4: MEMS Studio rakendus

TÄHTIS MÄRKUS – LUGEGE HOOLIKAS

STMicroelectronics NV ja selle tütarettevõtted („ST”) jätavad endale õiguse teha ST-toodetes ja/või selles dokumendis igal ajal ilma ette teatamata muudatusi, parandusi, täiendusi, modifikatsioone ja täiendusi. Ostjad peaksid enne tellimuste esitamist hankima uusima asjakohase teabe ST-toodete kohta. ST tooteid müüakse vastavalt ST müügitingimustele, mis kehtisid tellimuse kinnitamise ajal.
Ostjad vastutavad ainuisikuliselt ST-toodete valiku, valiku ja kasutamise eest ning ST ei vastuta rakendusabi ega ostjate toodete disaini eest.
ST ei anna siinkohal mingit otsest ega kaudset litsentsi ühelegi intellektuaalomandi õigusele.
ST-toodete edasimüük, mille sätted erinevad siin esitatud teabest, tühistab ST-i antud tootele antud garantii.
ST ja ST logo on ST kaubamärgid. ST-kaubamärkide kohta lisateabe saamiseks vaadake www.st.com/trademarks. Kõik muud toote- või teenusenimed kuuluvad nende vastavatele omanikele.
Selles dokumendis sisalduv teave asendab ja asendab selle dokumendi varasemates versioonides esitatud teabe.
© 2024 STMicroelectronics – kõik õigused kaitstud

UM2201 – Rev 6 – september 2024
Lisateabe saamiseks võtke ühendust oma kohalikuga
STMicroelectronics müügiesindus.
www.st.com

Dokumendid / Ressursid

ST NUCLEO-F401RE MotionGR reaalajas žestide tuvastamise teek [pdfKasutusjuhend
NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE, NUCLEO-F401RE MotionGR reaalajas žestituvastuse teek, NUCLEO-F401RE, MotionGR reaalajas žestituvastuse teek, ajaviipe tuvastamise teek, Gesure raamatukogu

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *