Arduino Pro mini a přenos programu do něj

Standardní Arduina jako třeba Uno nebo Mega jsou konstrukčně navržena tak, aby optimálně sloužila k vytváření pokusných zapojení nebo spolupracovala se specializovanými shieldy.

Je-li dané zapojení včetně programu už odzkoušené a má se transformovat ve výrobek či opakovaně vytvářenou jednoúčelovou konstrukci, přestává být integrování kompletního Arduina z této základní řady do zařízení účelné, je to jak zbytečně drahé, tak nevýhodné třeba z hlediska rozměrů. Druhá krajní cesta, kompletně vlastní návrh zapojení založený na stejném mikrokontroléru a využití Arduina jen pro odladění programu, také není při kusové nebo malosériové výrobě ideální.

Klon Arduino Pro mini jde střední cestou. Je to minimalizovaná verze zapojení s využitím SMD součástek, která obsahuje kromě mikrokontroléru ATmega328 s krystalem řízeným hodinovým generátorem 16 MHz jen malý stabilizátor 5V, tlačítko RESET, jednu LED kontrolku zapnutí a jednu indikační LED na výstupu 13. Tato verze neobsahuje USB rozhraní, k přenosu programu je nutný sériový port s úrovněmi TTL. Připojovací prokovené otvory jsou po všech čtyřech stranách desky, podél delších stran ty často používané, na jedné kratší straně vyšší analogové vstupy A4 až A7, na druhé vývody sloužící typicky pro přenos programu do Arduina respektive komunikaci s PC. Arduino Pro mini se dodává jako osazená oživená deska s plošným spojem s přiloženými kontaktními lištami. Má-li být deska používána na kontaktním poli nebo zapájena jako celek do větší konstrukce, musí uživatel lišty připájet sám. Pro usnadnění je v mikrokontroléru předem nahrán program, který po připojení napájení rozbliká LED.

schema

Schema neobsahuje stabilizátor napětí +5V

IMGP9988b

Myšlenka použít Arduino místo „holého“ mikrokontroléru jako „mozek“ vlastního přístroje se může jevit ekonomicky nesmyslná, ale jen do té doby, než vezmeme v úvahu, že jeden kus klonu Arduina Pro mini lze v době psaní tohoto textu objednat u řady prodejců v Číně (www.aliexpress.com) za cenu $2.50 včetně poštovného, tedy přibližně za 55 Kč. Programovat mikrokontrolér přístroje ve vyšším jazyce s jednoduchou možností využívání reálné aritmetiky a proměnných mnoha typů, bez nutnosti použití specializovaného programátoru a libovolně opakovaně, to jistě není k zahození. Jediná komplikace, kterou použití Arduina Pro mini přináší, je odlišný způsob nahrávání programu do mikrokontroléru. Máme více možností.

Jestliže pracujeme s „větším“ Arduinem se stejným typem mikrokontroléru v objímce a s rozhraním USB (např. Uno), je nejjednodušší cestou naprogramovat Arduino Pro mini přes něj. Vyjmeme mikrokontrolér z objímky a zhotovíme si šestivodičový propojovací kabel, který má na jedné straně dutinky, na druhé kontaktní kolíky. Programovací konektor tvoří po řadě vývody 2x GND (spojíme s GND na Uno), Vcc (spojíme s +5V na Uno), Rx (spojíme s Rx na Uno), Tx (spojíme s Tx na Uno) a DTR ( spojíme s RESET na Uno). Tím je propojení hotové. V obslužném programu ponecháme původní port, nastavíme typ Arduino Nano w/ATmega328 a dál pracujeme obvyklým způsobem. Arduino Uno zastává v této úloze jen funkci převodníku USB/COM a napájecího zdroje.

IMGP9998b

Jestliže budeme pracovat s Arduiny Pro mini častěji, má smysl si objednat jedno Arduino v kompletu včetně USB/COM převodníku typu CP2102 a dopravy za cenu $5, takže převodník samostatně vyjde přibližně na 55 Kč. Převodník se dodává včetně kabelů a má přesně stejné řazení pinů jako programovací konektor Arduina, takže vše jen propojíme „pin na pin“.

Chceme-li pracovat s Arduinem Pro mini jen výjimečně a máme již jiný univerzální převodník USB/COM nebo přímo počítač s COM portem, můžeme je také použít. Vzhledem k ceně převodníku CP2102 je asi jasné, že motivací nebude úspora nákladů, jako spíš snaha omezovat počet USB zařízení připojovaných k PC kvůli „zaplevelení“ tabulek, které pak vede k problémům s počítačem. K programování Arduina Pro mini potřebujeme TTL úrovně signálů a kromě Rx a Tx i signál DTR, který se využívá k resetování mikrokontroléru ve správný okamžik. Na obrázku je schema takového převodníku úrovní, který si můžeme snadno udělat, TTL úrovně se musí proti úrovním RS232 invertovat. Opět volbu typu Arduina nastavíme na Nano w/ATmega328.

RS232-TTL

IMGP9978b

Situace není ztracená ani v případě, že náš převodník USB/COM sice pracuje s úrovněmi TTL (a invertovaným signálem), ale má vyvedené jen signály Tx a Rx. V tom případě stiskneme a držíme tlačítko RESET na Arduinu Pro mini, pak spustíme překlad a přenos programu a hned jak se v okně objeví hlášení „Binary sketch size …“, pustíme tlačítko RESET. Není to zrovna pohodlný způsob, ale funguje spolehlivě také.

Arduino Pro mini nemá vyvedený vstup pro vnější referenční zdroj AD převodníků. Je-li tento vývod potřeba, lze se napojit přímo na desku na kondenzátor označený na obrázku.

IMGP9993b

Situace, kdy se za cenu do 60 Kč dá koupit zjednodušený klon Arduina zachovávající výhody snadného programování i aplikace knihoven nebo nahrání hotového programu od jiného uživatele (konstruktéra) a využitelný z hlediska zapojení v podstatě stejně, jako jednoúčelový integrovaný obvod, vytváří zcela nové podmínky pro konstrukce i jednodušších (levných) přístrojů, u nichž zatím nebyla aplikace mikrokontrolérů efektivní.