. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Mluvící kalkulátor s AVR
14. ledna 2010 - 5:04 | Pandatron | Mluvící kalkulátor s AVR | Komentářů: 9  

Mluvící kalkulátor s AVR

Konstrukce kalkulačky s obvodem ATmega88 a řečovým výstupem může být jednoduchou avšak praktickou pomůckou pro nevidomé.

Tento článek popisuje konstrukci mluvící kalkulačky postavené na pouhých třech obvodech, která může být praktickou pomůckou nejen pro nevidomé. Kalkulačka pracuje s reálnými čísly s jednoduchou přesností. Má čtyří základní operace (sčítání, odčítání, násobení a dělení) a funkce: vymazání všech dat, změna znaménka (+/-), inverze (1/x), druhá odmocnina, číslo pí, přidání dat do paměti (M+) a čtení dat z paměti (MR). Zároveň jsou automaticky řízeny povely POWER_ON, POWER_OFF a možnost zapnutí hlasového výstupu. Napájecí napětí zajišťuje 3V nabíjecí baterie.


Obr. 1: Blokové schéma mluvící kalkulačky

Celá konstrukce je postavena pouze na třech integrovaných obvodech a znakovém LCD displeji, který je však díky hlasovému výstupu volitelný.

Základem je mikrokontrolér ATmega88, jehož funkce jsou: čtení klávesnice, zpracování matematických operací, zobrazení výsledků, generování hlasového výstupu a správa napájení s cílem zvýšit životnost napájecí baterie.

Pro uložení hlasových dat je využita sériová I2C EEPROM, která je mikrokontrolérem vyčítána s cílem zajistit informaci o činnosti kalkulačky lidským hlasem. Pro získání binárních dat ze zvukových souborů je využit shodný princip, použitý například u programu BTc Sound Encoder 2.0, který byl včetně řady zvukových ukázek prakticky popsaném v článku Zvukový přehrávač v jednočipu. Následný převod binárních dat na audio signál je zajištěn RC-2 enkodér, aplikujícím řečovou křivku, složeném pouze ze dvou rezistorů a jedné kapacity.

Výstupní audio signál je poté zesílen výkonovým zesilovačem LM4861 a zaveden do reproduktoru. Pro zajištění delší provozní doby napájecí baterie je obvod zesilovače přepínán do režimu se sníženou spotřebou.

Chcete-li zároveň zobrazit výsledky matematických operací, je k mikrokontroléru možné připojit znakový LCD displej. Ten však musí být určen pro napájecí napětí 3V, tedy například typ MDLS16166 s rozsahem 16 znaků x 1 řádek. Tento prvek však díky hlasovému výstupu není podstatný a bez jakékoliv změny v zapojení je možné displej zcela vypustit.


Obr. 2: Sestavená mluvící kalkulačka

Na následujícím obrázku je uvedeno kompletní schéma zapojení mluvící kalkulačky.


Obr. 3: Schéma zapojení mluvící kalkulačky

Software:
Pro vývoj software pro kalkulačku byl využit Codevision AVR C Compiler a demo verze nástroje visualSTATE. Veškeré zdrojové kódy včetně souboru HEX jsou volně ke stažení na konci článku. Ve visualSTATE byla pouze grafickým způsobem zakreslena funkce kalkulačky, podle následující obrázku.


Obr. 4: Funkce mluvící kalkulačky

Digitální hlasový výstup:
Pro vytvoření digitálního hlasového výstupu je potřeba: Záznam zvuku ve Windows, AVR Studio 4 a RC Sound Encoder, který je možné stáhnout z FTP Circuit Cellar.

V první řadě je potřeba definovat si funkce, u kterých chceme zajistit zvukový výstup. V našem případě je to celkem 32 zvuků. Ty musí být postupně zaznamenány do jednotlivých souborů, například s využitím Záznamu zvuku z Windows či propracovanějších nástrojů. Dobrých výsledků bylo dosaženo ukládáním souborů ve formátu WAV PCM 44,1 kHz, 16 bitů mono. Jakmile jsou všechny soubory připraveny, je možné spustit RC Sound Encoder, který z každého WAV vytvoří soubor ASM. Následně již zbývá jen otevřít všechny ASM soubory v AVR studiu v novém projektu a získat tak výsledný HEX, který se pomocí libovolného programátoru naprogramuje do externí EEPROM paměti U2.


Obr. 5: Záznam hlasového výstupu

Závěr:
Mluvící kalkulačka je zajímavá aplikace, postavená pouze na třech integrovaných obvodech, která může být užitečnou pomůckou nejen pro nevidomé. Její hlavní rysy jsou: použití extrémně jednoduchého zvukového dekodéru, udržení nízké ceny a nízké spotřeby elektrické energie. Díky uložení zvukových dat mimo program mikrokontroléru je možné zajistit i více jazyků. To může být výhodné pro širší využití kalkulačky.
Doufám, že svou maximální jednoduchostí uvedená konstrukce povzbudí čtenáře, aby přidali další hlasové soubory a doplnili tak uvedený projekt.

Odkazy & Download:
Talking Calculator
Atmel AVR Design Contest 2006
Talking Calculator Abstract
Dokumentace a zdrojové kódy - DOWNLOAD







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (9):

Zobrazit starší 30 dnů (9)...

host
9. Dne 23. 04. 2014 v 07:54 zaslal host
Vykonavanie prikazu podla hlasoveho povelu
Zaujimavy projekt, ale ja by som potreboval nieco opacne: ak ja poviem hlasovy prikaz, ktory bude ulozeny aj v EEPROM, tak aby sa nieco stalo (napriklad log.1 na vystupe procesora).Neviete mi poradit ? :-D


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
PU232R - modul, převodník USB-UART
Modul s obvodem nové generace FT232RQ - převodník USB-UART pro vývoj a malosériovou výrobu.
od 390 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007