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:
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 |
krestan@HW.cz
DOWNLOAD & Odkazy
- Objednat naprogramovaný PIC => 499 Kč
- Objednat
hotový modul (oživený) => 1200 Kč
- Konfigurační program - kecalek.rar
- Eval.version GoldWave - goldwave.zip
- Zdrojové soubory plošného spoje ve formátu EAGLE - kecalek_eagle.rar