Obsah:
- Zásoby
- Krok 1: Hardwarová propojení
- Krok 2: Programování a testování
- Krok 3: Úprava zdroje pro jiné cíle ARM a různé úvahy
Video: Převod textu na řeč Klikněte na ARMbasic Powered UChip a další ARMbasic Powered SBCs: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Úvod: Hezký den. Jmenuji se Tod. Jsem letecký a obranný profesionál, který je také trochu geek v srdci.
Inspirace: Pochází z éry vytáčených BBS, 8bitových mikrokontrolérů, osobních počítačů Kaypro/Commodore/Tandy/TI-994A, kdy obchodů Radio Shack bylo hojné (dobré časy), byl jedním z mých prvních vestavěných hobby projektů pracovat s mikroprocesorovou tréninkovou sadou MEK6800D2 Motorola, kterou jsem si koupil při práci jako kooperace v laboratořích MSU EE (po absolvování školení VoTech pro střední školu elektroniky v Southern Lower MI). Tento projekt zahrnoval mé prototypování Radio Shack SP0256 NARRATOR ™ SPEECH PROCESSOR na MEK6800D2, zapojení a programování 6800 tak, aby vysílalo pseudo-řeč (ti, kteří pracovali s HW založeným na SP0256, přesně vědí, na co narážím). Fungovalo to úžasně a já jsem postupoval po cestě řezání zubů ve vestavěných mikrokontrolérech a sestavení. Po střední škole se dostal do cesty život, armáda, válka, manželé, děti, vstup do civilního sektoru, zahájení kariéry atd. To vše přispělo k tomu, že jsem odložil svůj koníček ve prospěch snah o život v západní kultuře (zde v USA).
Přeskočte o 20 let vpřed, do nevyhnutelného období, kdy děti dospívají do té míry, že nevěsta a já nás rozptylují, účty za hypotéku/vozidla/vysokou školu se pomalu vyplácejí, výdělky se zlepšují s pokroky a já mám dostatek volného Čas do bodu, kdy jsem se mohl začít soustředit na nějaké sobecké snahy, jsem se vrátil na koncert hobby elektroniky. Každopádně vzhledem k mé linii a historii jsem vyhledal a našel vývojářské prostředí, s nímž jsem se rychle spojil - ARMbasic - BASIC byla moje první láska a to se hodilo nejen k tomu, abych se znovu přioklimoval k programování, ale pracoval s hardwarem, který byl divoce více silnější než to, s čím jsem začal před desítkami let, a tím cesta začala.
To bylo asi 2006-2009. Poté se z důvodů, které jsme zcela mimo naši kontrolu, život změnil (jako tomu bylo pro mnohé během těch let). Koníčky odloženy - soustředit se na novou kariéru, zotavující se z finančních bojů (bylo silně svěřeno realitní oblasti a vzali jsme to v šortkách a mladíci se právě dostali do bodu, kdy bylo financování College nezbytností). V zásadě se projevily problémy života a prvního světa (jsme opravdu požehnaní, když vezmeme v úvahu výzvy a dřiny, s nimiž se lidé v jiných částech světa každodenně potýkají) a … koníček byl odložen. V letech 2011–2012 jsem se k tomu krátce vrátil a poté mě potkala další změna kariéry-hobby se opět odložilo.
Rychle vpřed o další desetiletí a … Jsem zpět a, Pane Bože, ochotný, doufejme, že na celou dobu (dokud si nedám tu příslovečnou špínu a nezačnu tlačit sedmikrásky zespoda). Tak jsme tady. Páni - Arduino (co je to za divné slovo?) Zaútočilo na trh. Tvůrci ?? Co to sakra jsou ?! …:) Moji přátelé z Coridium Corp (majitelé desek pro vývojáře mikrokontrolérů založených na ARMbasic a ARM) zůstali vytrvalí a pravdiví. Nyní místo řady řadičů LPC2xxx existuje tato nová (pro mě) entita ARM a Cortex M0/M3/M4 a Arduino a … WOW! Kultura se dost proměnila a v mnoha ohledech skvělým způsobem. Peeps spolupracují na dálku a vlastně i globálně. Hardware se stává neuvěřitelně rychlým a výkonným a ARMbasic, který dospěl a vytrvale tvrdl zaměstnáním v mnoha různých rodinách křemíku, je pro mě a mnoho dalších krásou.
Díky tomu, že je povídka velmi dlouhá, jsem nedávno narazil na kliknutí TTS od MikroElectronika a cítil, jak nade mnou proudí proud nostalgie. Měl jeden objednaný způsobem několika minut a byl nervózní další dny, dokud jednotka nedorazila v ruce. Tím začíná příběh…
Zásoby
- 1 kus MikroElectronika Kliknutí na text na řeč, obsahuje Epson S1V30120 - modul TTS ASIC
- 1 ea ARMbasic Target, plnící roli hostitele TTS
- 1 ea Uno Breakout Shield (nebo prototypování chlebové desky, nebo …)
- 1 reproduktor nebo sada reproduktorů navrhují stolní reproduktory napájené z počítače s 1/8 "konektorem TRS
- 1 šarže Prototypovací zboží drát, pájka, tavidlo, knot, páječka, záhlaví, IC zásuvky a podobné..
- 1 lot Embedded Dev Tools DMM, Logic Probe, Logic Analyzer, Scope atd. - pro nové hostitelské MCU TTS
Krok 1: Hardwarová propojení
Chcete -li to replikovat pomocí cíle ARMbasic ve formátu Uno nebo pomocí Itaca uChip, pravděpodobně by nejlépe posloužilo použití prototypového štítu, jak jsem to udělal na výše uvedených obrázcích (prostý odkaz Amazon)
Někteří uvidí stočený drát a zabalí se do toho, proč-jednoduchá odpověď je potlačení hluku v běžném režimu. Jo, tady se nezabýváme vyváženými signály, ale myslel jsem si, že to nemůže bolet (?), Takže jsem to udělal, když jsem dělal nahromadění desky.
Je to docela benigní design. Výtisky jsou připojeny k tomu ve formě grafiky (AutoCAD 2D je to, na co jsem nejvíce zvyklý - pracoval jsem s tím po celá desetiletí na své každodenní práci - stále si prořezávám zuby KiCAD a toto bylo příliš jednoduché úsilí zdůvodněte křivku učení jako první projekt v KiCADu). Každopádně jsem se rozhodl namontovat zásuvku uChip přímo na štít, aby byl umožněn samostatný případ použití při použití uChip jako hostitele. Přidal jsem JST pro napájení z baterie, pokud bych to chtěl, a protože mám několik doplňků, vypustil jsem Adafruit SWD Breakout, abych mohl v případě potřeby použít svou ladicí sondu Segger J-Link EDU. Nebylo, ale ponechávám na něm SWD i'face pro použití v budoucích projektech.
Castellated znamená v této souvislosti opilovat okraje desky plošných spojů tak, aby pokovené otvory byly redukovány na půlválce, což umožňuje pájení na nosnou desku plošných spojů - v tomto případě desku pro odlomení štítu. Rozhodl jsem se, že to udělám, protože ploché části fanoutu štítu se úplně neshodovaly s roztečí řádků mezi dvěma řádky záhlaví na SWD BOB. Vylomil plochý soubor a 5 minut ukládání a problém vyřešen.
Krok 2: Programování a testování
Jakmile je hardware vybudován, bude nutné provést úplné zazvonění, aby se ověřilo, že zapojení je dobré. Potom vždy provedu kontrolu napájení a uzemnění. To nejen zajišťuje, že napájení a uzemnění jsou tam, kde mají být, ale že jakákoli jiná ukončení, která by neměla mít napájení/uzemnění, tam nejsou. Není to únavný úkol na malém projektu, jako je tento, ale u větších systémů systémů je, i když je to zdlouhavý krok, naprosto nezbytný k zajištění toho, aby žádné podsestavy nebo propojené systémy nebyly odstraněny hloupou chybou, která mohl a měl být chycen. Obvykle připojím naprosté minimum zboží, takže se na desce generuje energie, a pak před zapojením podsestav, čipů atd. Kontroluji napájení a uzemnění každého pinu/zakončení a ujistím se, že výkon je na správné úrovni (s ohledem na zařízení, která netolerují 5V/požadavky IO, požadavky 1v8 a 3v3 atd.) a tato země je tam, kde má být, a pouze tam, kde musí být. Byl jsem svědkem kaskády poruch v letadle od lidí, kteří neprovedli řádné kontroly před připojením. V jednom případě to trvalo více než 100 000 $ LRU - není to zábavná doba, mít na starosti projekt a nechat jej okamžitě jít bokem, protože někdo tento proces zkratoval. Další věc, kterou mám na svědomí, je únavné „kontroly okolí“- zajištění toho, aby kontakty/zakončení nebyly zkratovány na sousední kontakty/zakončení. To se stává kritickým, pokud se jedná o koaxiální sestavy, vícevodičové/stíněné svazky atd. Dobře, jsem mimo krabici mýdla…
Jakmile je zajištěna bezpečnost, připojte věci, zapněte je a pak se pusťte do programování hostitele TTS (ARMbasic Target MCU) stejně jako u mnoha vestavěných cílů MCU. Natočil jsem video, které ukazuje programování a jednoduché použití TTS Click. Můžete si jej prohlédnout zde.
Zdrojový kód ARMbasic lze stáhnout zde - příspěvek na fóru, který obsahuje další podrobnosti. Coridium o tomto úsilí napsalo blogový příspěvek, ke kterému se dostanete kliknutím sem.
Krok 3: Úprava zdroje pro jiné cíle ARM a různé úvahy
Nebudu vás žádat o kroky potřebné k úpravě zdrojového kódu tak, aby fungoval s jinými cíli ARMbasic, kromě toho, abych naznačil, že o tom dělám velké množství komentářů ke zdrojovým kódům. Udělejte si čas na otevření souboru tts.bas a přečtěte si, jaké změny jsou potřeba, pokud se rozhodnete přenést kód na jiný řadič napájený ARMbasic.
Přikládáme několik obrázků, které jsem pořídil během vývojového cyklu, aby to fungovalo.
Ponaučení:
- Pokud máte analyzátor logiky s nepoužitými vstupy a máte další cílové IO, které nejsou používány pro práci, nebojte se použít tyto IO jako nástroje pro ladění - kropit kmitání IO v různých bodech kódu může být obrovská pomoc při sledování toho, co funguje a nefunguje, jak se očekávalo, k identifikaci praštěných problémů s časováním (tj. přerušení ovlivňujících bitové banged sériové komunikace) a celkově k lepšímu porozumění vašemu úsilí jako celku.
- Ne všechny ovladače ARM jsou stejné. To je zřejmé. Trochu jsem se však dostal tím, že jsem udělal počáteční vývoj na LPC1765 Coridium SuperPRO. Při zpětném pohledu z toho byla špatná volba to, že implementace tohoto jádra ARM umožňovala přístup do paměti bez slov. Při přenášení kódu C do ARMbasic šlo vše docela hladce, dokud jsem se ho nepokusil použít s cílem SAMD21 - všechno peklo se rozpoutalo a věci byly neuvěřitelně zavřené kvůli nevyrovnanému přístupu při plnění vyrovnávacích pamětí, manipulaci s vlajkami, práci s verzí ARMbasic struktur/svazů, na které jsem přišel atd. Byla to bolestivá lekce. Odnášení zde: Pokud si někdo přeje mít přenosný kód, dev na nejpřísnějším kandidátském cíli, jen aby zajistil, že na konci projektu, kdy je pravděpodobně nejvíce nadšen, využít plody jejich úsilí..:)
- Přenesení kódu C do ARMbasic NENÍ nemožné. Tato snaha byla z velké části jedna gigantická evoluční tréninková evoluce. Pokud si někdo vezme čas na srovnání původních zdrojů C s kódem ARMbasic, který jsem vytvořil, měl by být schopen přijít s některými nápady, jak implementovat věci, které nemusí být součástí základního návrhu ARMbasic (tj. Struktury).
- Řešte tyto věci ve snadno ovladatelných částech. Standardně jsem ten, kdo rád vidí uspokojení pravidelně. Úsilí, jako je toto přenesení a vývojářské úsilí, pravděpodobně nebude možné dosáhnout za jedinou noc. Stanovte si realistické cíle a pracujte na tom, abyste se nenechali zahltit „celkovým obrazem“.
- Logický analyzátor byl v tomto úsilí klíčový. Ano, mám jednotku DS-Logic+ nižšího a středního dosahu, ale mohu důrazně prohlásit, že levná 12,50 $ 24MHz šířka pásma LA od Amazonia by měla více než dostačující. Pár, který má Sigrokův PulseView (zdarma) (provádí dekódování protokolů), a jeden bude mít velmi robustní systém, který by měl fungovat v celé řadě scénářů, jako je to, co jsem se snažil realizovat s tímto projektem. Ujistěte se, že získáte jednotku, která má testovací klipy, nebo si objednejte testovací klipy samostatně, protože jsou velmi prospěšné (jak Trumpfeldian).
- Jednoduchá logická sonda je také velmi užitečným nástrojem. Na přehledném obrázku pracovního prostoru si všimnete starodávné logické sondy Archer (Radio Shack) v pravém dolním rohu obrázku. Byl jsem opravdu překvapen, když jsem zjistil, jak užitečné je něco takového denně, dokonce i s dobře vybavenou laboratoří.
Možná jsem se s tím spojil dříve, ale nemohu si vzpomenout a jsem líný se dívat. Zde je příspěvek na blogu, který obsahuje video z modulu TTS v akci (v té době ho hostuje Itaca uChip) a příspěvek na fóru ARMbasic, kde je možné stáhnout přenesený zdrojový kód ARMbasic.
Buďte opatrní a bavte se hackováním!
-MHz
Doporučuje:
Kopírování textu Kindle: 4 kroky
Kopírování textu Kindle: Častou otázkou a frustrací související s různými modely čteček Kindle e-Readers je, zda je možné kopírovat text z obrazovky a odesílat text e-mailem. Krátká odpověď zní: „Ne.“Tento Instructable ukazuje způsob, jak toho dosáhnout
Převodník textu na řeč Arduino pomocí LM386 - Mluvící projekt Arduino - Knihovna Talkie Arduino: 5 kroků
Převodník textu na řeč Arduino pomocí LM386 | Mluvící projekt Arduino | Knihovna Talkie Arduino: Ahoj kluci, v mnoha projektech požadujeme, aby arduino mluvilo něco jako mluvící hodiny nebo sdělování některých dat, takže v tomto návodu převádíme text na řeč pomocí Arduina
Představujeme „Deodorino“- infračerveně ovládané Arduino v prázdné tyčince deodorantu. Klikněte na 1. fotografii: 7 kroků
Představujeme „Deodorino“- infračerveně ovládané Arduino v prázdné tyčince deodorantu. Klikněte na 1. fotografii: Nyní dolů pro podrobnosti
Arduino TTS (převod textu na řeč): 3 kroky (s obrázky)
Arduino TTS (převod textu na řeč): Ahoj, dnes v tomto tutoriálu vás naučím, jak přimět Arduino mluvit bez externího modulu. Zde to můžeme použít v mnoha projektech, jako je mluvící teploměr, roboti a mnoho dalších. Takže bez velké ztráty času začněme s tímto projektem
Převod textu na řeč Bullhorn: 4 kroky
Bullhorn převodu textu na řeč: Toto je nejjednodušší způsob, jak jsem našel efektivní bullhorn převodu textu na řeč pro hluchého přítele. Protože, víš, je to ještě více rad. Nejedná se o nijak zvlášť uspokojivý ani vzdělávací projekt stavby a vyžaduje si koupit nějaké