UM2201
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 orientatsioonidest
2.2.3 API vooskeem
Joonis 2. MotionGR API loogikajada
2.2.4 Demokood
Järgmine demonstratsioonikood loeb andmeid kiirendusmõõturi andurilt ja hangib žestikoodi.

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ü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 – Ühenda
3. samm. Toetatud püsivaraga STM32 Nucleo plaadiga ühendamisel avaneb vahekaart [Library Evaluation].
Andmete voogesituse alustamiseks ja peatamiseks lülitage sisse sobiv [Start]
või [Stopp]
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 – andmetabel
4. samm. Spetsiaalse rakenduse akna avamiseks klõpsake [Gesture Recognition].
Joonis 6. MEMS-Studio – raamatukogu hindamine – ž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 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 Injection
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.
- UM1859: X-CUBE-MEMS1 liikumis-MEMS-i ja keskkonnaanduri tarkvara laiendusega alustamine STM32Cube'i jaoks
- UM1724: STM32 Nucleo-64 plaadid (MB1136)
- 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 |
