Jste zde

Zvukový modul ToySpeaker alias Kecálek

Zvukový modul ?Kecálek? je zařízení, které umožňuje záznam zvukových sekvencí až do délky 116 s

jejich přehrávání pomocí mechanického kontaktu, vnitřními hodinami nebo změnou intenzity osvětlení.

Předem bych chtěl poděkovat J.Řehákovi, který mě v situaci, kdy jsem nevěděl, co koupit, dodal inspiraci k vytvoření zde popisované konstrukce.

Jedná se o mluvící modul, který po umístění do vhodné hračky dodá velmi zajímavý efekt. Různých plyšových hraček je na trhu mnoho, která obsahují různá pískátka a chrchlátka, ale proč nevytvořit hračku, která by měla vlastní inteligenci a ještě mluvila mým vlastním hlasem.

Zde popisovaný modul lze vytvořit bez nejmenších potíží při oživování a zvládne jej i úplný začátečník. Do hlasové paměti je možné uložit až 116 sec nahraného zvuku. Celou tuto časovou oblast lze rozdělit až do 60 různých hlášek. Modul je aktivován buď při detekování rozsvícení, nebo tlačítkem a nebo vniřnímy hodinami. To umožňuje, aby například ráno vždy řekl „Dobré ráno“, nebo večer „Dobrou noc“. Pro nahrání všech hlášek slouží pomocný program pro PC, kde všechny vytvořené hlášky je nutné nahrát v podobě Wav souboru a pomocí toho programu nastavit, kdy který soubor bude přehrán. Všechny soubory je nutné ukládat v podobě Wav, mono, 16bit. Je však nutno zajistit, aby Wav soubor byl nasamplován na 9000Hz. (viz dále). Téměř touto kvalitou je pak i modul přehrává, pouze ne 16bitově, ale 10bitově.


Základní vlastnosti

  • Napájení 4,5V (3x AA baterie 1,5V)
  • Proudový odběr v klidu <50µA
  • Proudový oděr při přehrávání 35mA
  • Použitá komprese ADPCM 1:4
  • Kvalita přehrávání 9000Hz, 10bit
  • Maximální délka záznamu 116sec
  • Hlasový výstup reproduktor 1W
  • Programování paměti FLASH RS232, (TTL úrovně), 9600,n,1,8

Co je potřeba pro vytvoření hlasového modulu?

  • Počítač PC se zvukovou kartu, kde je nutné nahrát všechny hlášky
  • Běžné věci pro osazování (páječka, pájka, atd…)

Pořízení Wav souborů:

Pro vytvoření Wav souborů je možné použít jakýkoliv již existujíci zvukový soubor ve formátu Wave file, nebo jej pořídit například pomocí programu GoldWave z audiovstupu zvukové karty, který je volně stažitelný jako trial verze, ale ta pro tento učel plně postačí. Další možnost je vytvoření Wav souborů ze skladeb MP3. Zde je asi nejjednodušší cesta použitím WinAmpu, kde v menu Options/Preferences (je možné spustit klávesou Ctrl+O) nastavíte Plug-ins, Output položku DiskWriter. Kliknutím na Configure je možné zadat adresář, kam se budou ukládat skladby ve formátu Wave file. Všechny soubory je nutné převést na sample rate 9000Hz, což lze udělat v programu GoldWave. Po jeho spuštění kliknutím na položku menu File, Open… otevřete soubor příslušný soubor Wav, který budete chtít nahrát do modulu. Potom klikneme na položkou Effects, Resample a zadáme hodnotu 9000 a potvrdíme tlačítkem OK.
 

Následně už jen zbývá soubor uložit položkou v menu File/Save as. Zde je nutné nastavit v dolním řádku formát 16bit, mono, signed, tak, jak je uvedeno na následujícím obrázku:

Tento proces je nutné provést pro všechny soubory Wav, které budou nahrány do modulu.

Popis konfiguračního programu:

Pro vkládání souborů Wav slouží první seznam označen nadpisem Wav soubory. Zde tlačítkem Přidat lze vybrat soubor a vložit jej do seznamu. Maximální počet souborů Wav je 60. Další omezení je v jejich délce, kde délka všech souborů v tomto seznamu nesmí překročit 116sec. K tomu slouží informace o volné paměti, kde je zobrazeno, kolik zbývá do jejího vyčerpání. Pokud zde máme zařazeny všechny soubory, se kterými bude modul pracovat, je nutné natavení skupin. Pro každou událost (časovou, nebo stiskem tlačítka, nebo rozsvícením) jsou přiřazeny skupiny, ze kterých je náhodně vybrána jedna, která je přehrána. Skupiny jsou zde proto, aby bylo možné skládat více souborů Wav, které se přehrají v jednu chvíli za sebou v tom pořadí, ve kterém jsou uvedeny ve skupině. Skupin je celkem 246, což umožňuje vytvořit celkem 246 různých kombinací souborů Wav. Pro vložení souboru do příslušné skupiny je nutné vybrat tuto skupinu v seznamu skupiny, potom vybrat soubor v seznamu Wav soubory a stisknout tlačítku "=>". Pro odstranění slouží tlačítko "<=". Pro každou skupinu je určeno zaškrtávací pole Tlačitko a Světlo. Pokud je příslušné pole zaškrtnuto, je tato skupina zařazena do seznamu, ze kterého je například v případě stisku tlačítka vybrána skupina, která bude přehrána. Reakce na přítomnost světla je náhodná a nemusí vždy spustit přehrávání. Dalším nastavením jsou určení času. Pro každou událost je nutné zadat čas, kdy má být provedena a skupiny hlášek, ze kterých bude v tento čas jedna náhodně vybrána a následně přehrána. Skupiny se zadávají číselně a oddělují se čárkou. Pro každou časovou událost je možné definovat, kdy a jak se bude hračka chovat, zda bude uspána, nebo probuzena pomocí zaškrtnutí příslušného pole. Pole Náhodná slouží pro možnost, kdy při času provádění této časové události je náhodně určeno, jestli bude hláška přehrána, nebo ne. V případě, že je toto pole zaškrtnuto, je tato hláška přehrána vždy v určený čas. Časových událostí může být maximálně 6. Pokud je hračka uspána, je možné nastavit jednu skupinu, která bude přehrána v případě, že v této době bude stisknuto tlačítko, nebo dojde k reakci na rozsvícení světla. Ta je definována v poli Skupina při náhlém probuzení. Pokud dojde k opakovanému probuzení, je přehrána skupina definována v poli Skupina při opakovaném probuzení. Poslední pole Nečinnost určuje skupinu, která je přehrána v případě, že došlo k reakci na světlo a nebylo za posledních 24 hodin stisknuto tlačítko. Pole Čas po zapnutí slouží pro určení času, který je nastaven v modulu po připojení k baterii. Tento čas je vždy nutné dodržet při výměně baterií, nebo při jejich novém připojení.

Po dokončení nastavení všech náležitostí stačí stisknout tlačítko Generovat a program vytvoří soubor rec.bin, který se nachází v místě, kde je spuštěn program. Ten je nutné naprogramovat do paměti modulu FLASH. Pokud vlastníte programátor pamětí 29F040, můžete tento soubor přímo naprogramovat do paměti bez použití funkce programování přímo v modulu. Pro uložení nastavení a obnovení lze použít nabídku File/Načíst nastavení, nebo Uložit nastavení. Tlačítko Upload je určeno pro naprogramování paměti FLASH. Pokud máte kde naprogramovat tento typ paměti, je možné přímo naprogramovat její obsah ze souboru rec.bin. Druhá možnost je programování přímo v modulu. To se provádí připojením přes COM port počítače, kde je nutné mezi modul a počítač připojit převodník úrovní RS232 na TTL. Poté se na modulu nastaví propojky, jak je uvedeno na obrázku a je možné připojit baterii. V době zapojování baterie je nutné držet stisknuté tlačítko na modulu. Potom stiskem tlačítka Upload se provede programování paměti. V průběhu programování ne nutné mít trvale připojen modul k baterii, nebo ke zdroji 5V.

Ukázka konfiguračního programu:




Nastavení v režimu programování paměti FLASH


Nastavení v režimu přehrávání

Pro ukázku je možné využít testovacího nastavení programu, kde lze položkou File, Načíst nastavení otevřít soubor medved2.set, který obsahuje vzorové nasamplované soubory a jejich zařazení do skupin.

Popis zapojení:

Jádrem konstrukce je obvod PIC16F628. Všechna data jsou uložena v paměti FLASH 29F040, která je adresována pomocí dvou obvodů 74HC573, které řídí registr IC3. K MCU jsou připojeny dva hodinové zdroje. Jeden tvoří vnitřní oscilátor MCU, ke kterému je připojen krystal XT1. Druhý je tvořen externím oscilátorem, pracujícím na frekvenci 32768Hz, který běží po celou dobu připojené baterie a je určen pro časování vnitřních hodin. Hlasový výstup je realizován pomocí PWM modulátoru, jehož výstup je přiveden přes integrační článek a vazební kapacitu do zesilovače IC5. Všechny části mimo MCU a oscilátoru jsou připojovány na napájecí napětí v případě potřeby přes tranzistor Q1. Vstup RA0 u MCU je sdílen pro tlačítko a fototranzistor. Zde je detekce provedena porovnáním na komparátoru s vnitřní napěťovou referencí MCU.


Schéma zapojení


Obrazec plošného spoje ze strany spojů


Osazení plošného spoje ze strany spojů


Obrazec plošného spoje ze strany součástek


Osazení plošného spoje ze strany součástek

Seznam součástek:

Rezistory (SMD 0805)
R1 100R
R4 680R
R5, R6, R12 82k
R7 56k
R8, R9 330k
R10, R11 47k
R3,R13-R15 10k
Kondenzátory (SMD 0805)
C1, C3, C8 100 nF
C4 100 µF/16V
C5 47 nF
C6,C7 120 pF
Polovodiče:
D1,D2 1N4148 (SMD)
IC1 PIC16F628
IC2 29F040
IC3 74HC164 (SMD)
IC4,IC6 74HC573 (SMD)
IC5 LM386
IC7 4011 (SMD)
J1,J2,J4,J6 kolík 2x1
J3,J5,J7-J9 kolík 3x1
Q1 BSS84 (SMD)
Q2,Q3 BC847 (SMD)
Fototranzistor BPW30, nebo SFH309-5
Ostatní:
XT1 krystal 9.8304MHz
XT2 krystal 32.768kHz
Reproduktor 8W, 1W (KST-50008)
  3x JUMP-SW

Michal Křesťan
krestan@HW.cz

DOWNLOAD & Odkazy

Hodnocení článku: