KURZ: Zvukový výstup

KAPITOLY

Řídící jednotka stavebnice Lego Mindstorm NXT obsahuje 8bitový zvukový výstup s reproduktorem. Díky tomu umožňuje využívat v programu zvukové výstrahy a signály. Zvukové tóny jsou obsaženy ve standardním firmware. Základní sadu zvuků lze ale rozšířit a naimportovat si vlastní.

V obou prostředích je možné využívat v programech zvukový doprovod. Signalizace se využívá například pro kontrolu jednotlivých průchodů programem, jako varovný signál pro změnu směru pohybu robota a v dalších vhodných situacích.

Práce se zvukem v programovacích prostředích

NXT-G

Blok pro práci se zvukem

Rozcestník


Umístění bloku

Zvukový výstup řídící jednotky je v programovém kódu řízen blokem SoundDragged Sound, který se nachází v paletě icon complete Completeicon commonCommon (na obrázku s rozbaleným Data Hub pro připojení dalších modulů).

NXTG BlokSound rozbaleny 

 

Popis bloku

Programový blok SoundDragged Sound obsahuje šest konektorů pro připojení dalších bloků:

Action Action - označuje typ zvukové signalizace (zvukový soubor nebo tón).

Filename Filename - název přehrávaného zvukového souboru.

Tone Tone Frequency - frekvence přehrávaného zvuku v hertzích.

SoundMode Control - vyjadřuje aktuální stav (play nebo stop).

Volume Volume - úroveň hlasitosti přehrávaného zvuku.

Duration Duration - doba trvání přehrávání zvuku.

Samotný modul SoundDragged Sound zobrazuje aktuální nastavení pomocí tří ikonek umístěných pod vyobrazením reproduktoru (popisovány zleva doprava):

  • SoundFile typ zvuku (zvukový soubor nebo tón),
  • Play nebo Stop soundvyjádření, zda modul v dané situaci reprezentuje zapnutí nebo vypnutí zvukové signalizace,
  • Volume075úroveň hlasitosti zvuku.

 

Parametry bloku

NXTG sound soundfile

NXTG sound tone

Action: vyjadřuje, zda bude pro zvukovou signalizaci použit zvukový soubor nebo tón. Na prvním obrázku je zvolena možnost Sound File (zvukový soubor), proto se v pravé části bloku zobrazuje výběrové okno se seznamem dostupných zvuků. Na druhém obrázku je vybrána možnost Tone (tón). V tomto případě se v pravé části bloku nastavuje označení tónu a délka jeho trvání ve vteřinách.

Control: udává, zda má blok funkci spustit nebo zastavit daný zvukový soubor nebo tón.

Volume: vyjadřuje nastavenou úroveň hlasitosti zvuku (maximum je 100%).

Function: zaškrnutím volby Repeat (opakování) nastavíme opakování zvuku po celou dobu dané části nebo celého programu (pokud je vybrána tato možnost, není možné nastavit funkci Wait).

Wait: zaškrtnutím volby Wait for Completion (počkat na dokončení) docílíme toho, že zvukový soubor bude celý přehrán a až poté bude program pokračovat dále. V opačném případě se pokračuje ve vykonávání programu. Pokud jako další následuje opět blok SoundDragged Sound, je přehrávání zvuku prvního bloku ukončeno a započne přehrávání zvuku bloku druhého.

RobotC

Příkazy pro práci se zvukem

Při používání zvukových signálů potřebujeme využívat několik příkazů. Je potřeba definovat používaný zvuk nebo zvukový soubor, ovládat hlasitost zvuku a dobu trvání přehrávání.

Rozcestník


Ztlumení a zapnutí zvuku

Příkaz MuteSound() ztlumí všechny zvuky v dalších příkazech. UnmuteSound() má opačnout funkci, tudíž umožní od dalšího příkazu přehrávání audio souborů.

 
MuteSound(); // Vypne vsechny nasledujici zvuky.
UnmuteSound(); // Znovu umozni prehravani nasledujicich zvuku.
 

Volba audio souboru

Při přehrávání zvuků je možné volit mezi zvukovými soubory a tóny. Pro každou z těchto kategorií se v jazyce RobotC používá zvláštní příkaz. Pro tóny je to příkaz PlaySound() a pro zvukové soubory PlaySoundFile().

 
PlaySound(soundBeepBeep); // Prehraje ton s nazvem soundBeepBeep.
PlaySoundFile("Woops.rso"); // Prehraje audio soubor s nazvem Woops.rso. 
 

Nastavení úrovně hlasitosti

Udává se v rozsahu 0-4 pomocí příkazu nVolume[]. Pro použití při programování se doporučuje využívat hodnotu 1, protože vyšší mohou být poměrně hlasité a působit nepříjemně.

 
nVolume = 1; // Nastavi uroven hlasitosti na 1 (pro cloveka prijatelna uroven). 
 

Délka trvání tónu

Ovlivnění doby trvání tónu je možné pomocí dvou příkazů. Příkaz PlayTone(frequency, durationIn10MsecTicks) se využívá při práci s konstatními tóny. Oproti tomu PlayImmediateTone(frequency, durationIn10MsecTicks) se využívá při přehrání tónů upozorňujících na okamžitou změnu v programu nebo probíhající proces. Oba příkazy mají dva parametry. První je frekvence přehrávaného tónu v hertzích a druhý doba trvání udávaná v desítkách milisekund.

 
PlayTone(784, 15); // Prehrava ton frekvenci 784 Hz po dobu 150 milisekund. 
 
PlayImmediateTone(80, 50); // Prehrava ton frekvenci 80 Hz po dobu 500 milisekund.
 

EV3

 

Blok pro práci se zvukovým výstupem

Rozcestník


Umístění bloku pro práci se zvukovým výstupem

Programový blok Sound je umístěn v paletě Action Action

SOUND UMISTENI


Změna režimu

Programový blok Sound můžeme využívat ve čtyřech základních režimech. Přepínání mezi nimi se provádí pomocí tlačítka v levé spodní části bloku (červeně zvýrazněno).

SOUND REZIM 


Přidání vstupního portu

Kliknutím do bílého pole v pravém horním rohu programového bloku a vybráním možnosti Wired přidáme do programového bloku nový vstupní port.

 SOUND VSTUPNI PORT

Tento port s názvem Identification 528 FileName File Name slouží k odeslání zvukového souboru k přehrání.

SOUND WIRED


Režimy programového bloku

Stop (zastavení)

Režim programového bloku sloužící k zastavení aktuálně přehrávaného zvuku.

SOUND STOP

 

 

Play File (přehrání souboru)

Režim sloužící k přehrání zvoleného zvukového souboru z paměti řídící jednotky. V tomto režimu máme k dispozici dva vstupní porty programového bloku.

SOUND PLAY FILE

Identification 264 Volume 100 Volume Control - hlasitost přehrávaného zvuku udávaná na stupnici od 0 do 100.

Identification 512 PlayType WaitForCompletion Play Type - způsob přehrání zvoleného zvukového souboru.

Přehrání je možné realizovat třemi způsoby:

  • Identification 512 PlayType WaitForCompletion Wait for Completion - zvuk je jedenkrát přehrán a program pokračuje až po dokončení přehrávání.
  • Identification 510 PlayType PlayOnce Play Once - zvuk je jedenkrát přehrán a program okamžitě pokračuje dále.
  • Identification 511 PlayType Repeat Repeat - zvuk je přehráván stále dokola, dokud není přerušen jiným blokem Sound a program okamžitě pokračuje dále.

 

Výběr zvukového souboru z paměti řídící jednotky

Výběr zvukového souboru z paměti v paměti řídící jednotky se provádí pomocí bílého pole v pravém horním rohu programovacího bloku (červeně zvýrazněno).

 SOUND PLAY FILE VYBER

Na výběr máme předpřipravené zvuky LEGO Sound Files nebo vlastní zvuky importované do projektu a umístěné ve složce Project Sounds.

SOUND MENU

 

 

Play zvuku (přehrání zvuku)

Režim sloužící k přehrání zvukového tónu libovolné frekvence, hlasitosti a délky. Programový blok obsahuje v tomto režimu čtyři vstupní porty.

SOUND PLAY TONE

Identification 058 Hz Frequency - frekvence zvoleného zvuku v herzích (možné rozpětí hodnot je od 300 do 10 000). 

Identification 240 Time Duration - délka přehrávaného zvuku ve vteřinách.

Identification 264 Volume 100 Volume Control - hlasitost přehrávaného zvuku udávaná na stupnici od 0 do 100.

Identification 512 PlayType WaitForCompletion Play Type - způsob přehrání zvoleného zvuku.
Přehrání je možné realizovat třemi způsoby:

  • Identification 512 PlayType WaitForCompletion Wait for Completion - zvuk je jedenkrát přehrán a program pokračuje až po dokončení přehrávání.
  • Identification 510 PlayType PlayOnce Play Once - zvuk je jedenkrát přehrán a program okamžitě pokračuje dále.
  • Identification 511 PlayType Repeat Repeat - zvuk je přehráván stále dokola, dokud není přerušen jiným blokem Sound a program okamžitě pokračuje dále.

 

 

Play Note (přehrání tónu)

Režim umožňující přehrání tónu určité délky a hlasitosti. Programový blok obsahuje v tomto režimu čtyři vstupní porty.

SOUND PLAY NOTE

 Identification 525 Note Note - výběr zvukového tónu.

Identification 240 Time Duration - délka přehrávaného tónu ve vteřinách.

 Identification 264 Volume 100 Volume Control - hlasitost přehrávaného tónu udávaná na stupnici od 0 do 100.

Identification 512 PlayType WaitForCompletion Play Type - způsob přehrání zvoleného tónu.
Přehrání je možné realizovat třemi způsoby:

  • Identification 512 PlayType WaitForCompletion Wait for Completion - tón je jedenkrát přehrán a program pokračuje až po dokončení přehrávání.
  • Identification 510 PlayType PlayOnce Play Once - tón je jedenkrát přehrán a program okamžitě pokračuje dále.
  • Identification 511 PlayType Repeat Repeat - tón je přehráván stále dokola, dokud není přerušen jiným blokem Sound a program okamžitě pokračuje dále.

1 1 1 1 1 1 1 1 1 1 Hodnocení 4.33 (3 hodnocení)

Nemáte oprávnění přidat komentář.
Komentáře mohou přidávat pouze registrovaní uživatelé, kteří neporušují pravidla diskuze.