SVETELEKTRO

3. septembra 2014   Verzia pre tlač Verzia pre tlač

SpeakUp alebo ako bez stresu komunikovať s lampou?


TME s.r.o.

V posledných rokoch sme všetci svedkami veľmi rýchleho rozvoju úžitkovej elektroniky. 

Zároveň sme však aktívnymi účastníkmi tohto procesu, keďže hnacou silou akéhokoľvek pokroku sú ľudské potreby. Vynikajúcim príkladom zmien odohrávajúcich sa pred našimi očami je evolúcia spôsobu komunikácie medzi človekom a strojom (zariadením) – niečoho, čo sa v angličtine nazýva "Human Interface". Do zabudnutia odchádzajú zariadenia vybavené komplikovanými obslužnými panelmi s desiatkami tlačidiel a prepínačov, obsluha ktorých vyžadovala vyškolenie užívateľov. Zohľadnenie zrozumiteľného a v obsluhe jednoduchého rozhrania "Human Interface" už vo fáze vývoja aplikácie sa v súčasnej dobe stáva pre konštruktéra – elektrotechnika nevyhnutnosťou. Farebné veľkoplošné grafické LCD displeje s rozmanitým obsahom, dotykovým panelom a funkciou "multitouch" (simultánna detekcia viacerých bodov dotyku a ich premiestnenia) sú dnes už bežné. Smartfón bez tohto riešenia si vieme predstaviť len veľmi ťažko. V oblasti spotrebnej elektroniky sa však môžeme stretnúť aj s prvkami hlasového ovládania (napr. pri hlasovej voľbe telefónneho čísla osoby, ktorej chceme zavolať, alebo pri určovaní cieľu navigácie v zariadeniach GPS).
                Zavedenie audio rozhrania do aplikácie sa z hľadiska konštruktéra väčšinou spája so značnou námahou. Zvuk dopadajúci na zariadenie vo forme akustických vĺn je treba spracovať na elektrický signál, ktorý sa ďalej filtruje a vzorkuje, a následne, po rozmanitých transformáciách, sa vo forme digitálneho signálu porovnáva s vopred zaznamenaným vzorom, a nakoniec interpretuje. Na tieto účely sa využívajú predovšetkým pokročilé signálové mikrokontroléry (procesory), využívajúce vo svojej programovej výbave početné audio knižnice a zvukové kodeky. Ukazuje sa však, že existujú aj iné riešenia, vďaka ktorým je možné túto celú námahu značne obmedziť.
                Príkladom takého riešenia je neveľký plošný spoj SpeakUp clock (MIKROE-1534) vyvinutý firmou Mikroelektronika (obr. 1). Slúži na rozoznávanie hlasových príkazov.
 
Vlastnosti, ktorými sa tento plošný spoj vyznačuje:

  • jednoduchá konfigurácia (vďaka bezplatnému a intuitívnemu softvéru);
  • možnosť rozoznania 200 príkazov s dobou trvania max. 5 sekúnd, nezávisle od jazyka, v akom sú vydávané;
  • vysoká rýchlosť spracovania;
  • možnosť práce ako samostatné zariadenie, prípadne ako súčasť väčšieho systému.


Obr. 1

Základom plošného spoja je 32-bitový mikrokontrolér s jadrom ARM Cortex-M4 STM32F415RG (1024 kB Flash, 192 kB RAM, 168 MHz). Na plošnom spoji máme priamy prístup k 12 programovateľným kanálom vstup – výstup (I/O), ktoré je možné využiť napríklad na ovládanie relé. Okrem toho sa na plošnom spoji nachádza populárny audio kodek stereo VS1053, elektretový mikrofón so slušnými parametrami, 3 signalizačné LED diódy a 2 tlačidlá. K dispozícii je aj port USB mikro-B, vďaka ktorému je možné plošný spoj pripojiť k počítaču PC, audio konektor jack 3,5 mm, poskytujúci možnosť pripojenia externého mikrofónu, konektor JTAG umožňujúci odladiť mikrokontrolér a konektor mikrobus, ktorým je z mikrokontroléra vyvedené externé rozhranie USB a UART (obr. 2).


Obr. 2 

Tajomstvom jednoduchého používania plošného spoju SpeakUp je programová výbava mikrokontroléra. Rozpoznávanie hlasových príkazov je realizované s využitím algoritmu DTW (Dynamic Time Warping), pomocou ktorého sa meria stupeň podobnosti medzi dvoma dynamickými (v čase sa prekrývajúcimi) udalosťami (v tomto prípade elektrickými signálmi). Zainteresované osoby môžu získať podrobnejšie informácie o vyššie uvedenom algoritme v Internete alebo vo Wikipedii. Akustický signál, prijatý a spracovaný v mikrofóne na elektrický signál, sa predbežne spracováva kodekom VS1053 a následne interpretuje prostredníctvom algoritmu DTW implementovaným v mikrokontroléri. Po ukončení tohto procesu, v závislosti od zvoleného pracovného režimu, môže mikrokontrolér priamo zmeniť stav niektorého z 12 dostupných I/O kanálov (práca ako samostatné zariadenie) alebo prostredníctvom rozhrania USB alebo UART odoslať výsledky interpretácie prijatého signálu (vo forme správy) ďalej.


Nahrávanie príkazov a priraďovanie k ním príslušných činností (akcií) je s pomocou bezplatného programu neobyčajne jednoduché (obr. 3).


Obr. 3

Pracovný postup pri práci s programom vyzerá nasledovne:
*komentár – tu je možné využiť graf z užívateľskej príručky (bod 8.1, strana 13).

  • Pripojiť plošný spoj pomocou USB kábla k počítaču (počítač rozozná modul SpeakUp ako zariadenie rozhrania HID, bez potreby inštalovania akýchkoľvek špeciálnych ovládačov).
  • Spustiť aplikáciu, a následne:

a)      Vytvoriť nový projekt.
b)      Pridať do projektu nový príkaz (zobrazí sa záložka).
c)       Nahrať daný príkaz s možnosťou vypočutia si nahrávky a zopakovania nahratia, ak to bude potrebné.
d)      Priradiť k príkazu zvolenú činnosť (akciu) a návrat k bodu b alebo prechod k bodu e.
e)      Uložiť práve vytvorený projekt do pamäte mikrokontroléra na plošnom spoji.
 
Za účelom optimalizácie využitých zdrojov mikrokontroléra je možné plošný spoj vopred okalibrovať v závislosti od hladiny šumu okolia, tolerancie prijímaného signálu alebo obmedzenia času na vyslovenie príkazu. Za účelom zjednodušenia identifikácie je k dispozícii aj možnosť priradiť jednotlivým I/O kanálom (pinom) vlastné názvy (obr. 4).


Obr. 4

Príklady použitia modulu SpeakUp click:

  • Hlasové ovládanie osvetlenia, kontrola prístupu (dvere, okná), obsluha domácich spotrebičov.
  • Nahradenie obsluhy zariadení prostredníctvom vysielačov infračervených lúčov (diaľkových ovládačov) hlasovými príkazmi (samozrejme pri využití dodatočných prvkov).
  • Všade v situáciách, v ktorých má človek roky obsadené a jediná možnosť, aká nám zostala, je náš hlas.

Zainteresované osoby sa môžu oboznámiť s plošným spojom SpeakUp click na internetovej strane výrobcu (www.mikroe.com/click/speakup), prípadne ho môžu zakúpiť (ako aj iné výrobky z ponuky spoločnosti MikroElektronika) u oficiálneho distribútora firmy MikroElektronika – vo firmy Transfer Multisort Elektronik Sp. z o.o. (www.tme.eu).
 
Mgr. Ing. Pawe³ Sióda
TME

Ako sa vám páčil tento článok?
  • Páči sa mi (0)
  • Súhlasím (0)
  • Zábavné (0)
  • Informatívne (0)

Komentáre (5)

  1. boraicho píše:

    konečne, toto som potreboval, pokukoval som potom easyVR ale toto vyzera 100x lepšie a ešte lacnejšie to je. už som to zaparkoval v tmečku.

  2. boraicho píše:

    už som to kúpil mam to doma, funguje to, a je to dosť rychle, zvuk dekoduje prakticky hneď, akurat je to take že ako to nahrate tak to treba aj vysloviť. Takže je lepšie tam nahrať 2x 3x to iste slovo nech je večšia pravdepodobnosť že to potom trafite.

    • dxr píše:

      Radsej napis ako to funguje z 3-3.5m a ked hra v okoli radio
      ci to rozozna prikaz aj vtedy

      Priklad: Lezis v posteli ide telka a kricis „Žááán vypni lampu“
      kolko krat treba zakricat?

      • boraicho píše:

        aj z 3-3,5metra to dobre snima. jediny problem je to povedať tak ako si to nahral ale kedže to ma kopu pamete tak je dobre a aj to odporučaju v manuali nahrať jeden prikaz aspon 2x takže ked sa nahra jeden prikaz 2x 3x tak sa potom skor trafiš. Ale nieje problem, reaguje hned a ked povieš presne tak to stači povedať raz. skušal som len tak nahrať 3 slova rozne , frenky, hudba, dva vodky, a ked sa spravne povie tak to hned rozozna. Ma to aj detekciu šumu ale veľmi som to neskušal, ešte som to neskušal na 100% prve potrebujem tu ruku, neviem kedy mi pridu diely z aliexpres 🙂

Pridaj komentár