Radioamatérský občasník
cz OK1KMR & OK1CJB Jaroslav Janata Czech Republic QTH: Říčany Loc: JN79hx EPC: #1217 mail@ok1cjb.cz SWL: OK1-15 512 cz
Arduino
ARDUINO UNO R3
OK1CJB
30.11.2015
01310
 

Pro další věc, kterou mám rozdělanou jsem potřeboval ovládání. Procesory PICAXE se kterými jsem dělal nedošly velkého rozšíření a jsou poměrně drahé. Další možnost byly AVR, ATiny a Picy. Ze všeho mi ale vyšel nejlépe současný fenomén - Arduino.  Neodolal jsem a objednal si na eBay desku Arduino UNO R3.
K Arduinu je dost dobré literatury. Musím zmínit nejen anglicky psané stránky [1], ale i české stránky [2] s poměrně podrobnou příručkou. Múžete si stáhnout také programátorskou příručku ]3]. Všechny manuály ale začínají podobně: "nainstalujte si nejnovější sofware". Hezky se to řekne, ale hůř udělá. Jak praxe ukazuje, ty zdánlivě nejjednodušší věci jsou ta největší nepříjemnost. To platí také o mém začátku s Arduinem.
Problém mi dělala instalace ovladače USB/COM. Na desce totiž není klasický převodník. Jeho funkci zastává procesor. K němu pochopitelně W7 žádný ovladač nenajdou. Na internetu je hromada návodů jak ovladač instalovat. Postupně jsem bez výsledku vyzkoušel snad všechny. Nakonec jsem se dopracoval k tomu, že některé desky Arduina pracují s čínským ovladačem CH341SER. Do složky Program files → Arduino → drivers jsem udělal adresář ch341ser a do něj soubory ovladače rozbalil. Ve správci zařízení se po instalaci ovladače objevilo přiřazení portu a Win7 desku poznalo. Odechl jsem si. Ale přečasně. Když jsem chtěl nahrát krátký prográmek (Blink z příkladů) objevilo se následující hlášení:

Arduino: 1.6.6 (Windows 7), Vývojová deska: "Arduino/Genuino Uno"
Projekt zabírá 1 030 bytů (3%)  úložného místa pro program. Maximum je 32 256 bytů.
Globální proměnné zabírají 9 bytů (0%)  dynamické paměti, 2 039 bytů zůstává pro lokální proměnné. Maximum je 2 048 bytů.
avrdude: ser_open(): can't open device "\\.\COM7": Systém nemůže nalézt uvedený soubor.
Problém s přenosem dat na vývojovou desku (board). Na http://www.arduino.cc/en/Guide/Troubleshooting#upload naleznete další doporučení.
Tento výpis by měl více informací s   "Zobrazit více informací během kompilace"   povoleno v Soubor > Vlastnosti

A bylo po radosti. Nakonec vše vyřešilo to, že jsem odinstaloval Arduino IDE verzi 1.6.6 a použil verzi 1.6.4. Všechno běželo na první pokus. Jenom je potřeba správně nastavit typ desky a použitý port.



Číslo použitého portu zjistíme ve správci zařízení. Jako COM6 je uvedené Arduino MEGA se standardním ovladačem a na COM7 je Arduino Uno s ovladačem CH341SER. S Arduinem Mega od začátku žádný problém nebyl.

Udivující je spousta doplňků, stačí si na eBay vyhledat Arduino shield a můžete tiše žasnout nad cenami. Vždyť i deska UNO, jak jí vidíte na horním obrázku, mě přišla na závratných 64.-Kč + 25.-Kč poštovné (v GME 665.-Kč!). Tady si asi každý položí kacířskou otázku:"má vůbec cenu se s tím dělat? Odpověď je jednoduchá - nemá!
Pokud chcete dělat svoje desky, je na internetu dost podkladů pro jejich kreslení. Pro jejich stohování musíte ale znovu na eBay. U nás prodloužené dutinkové dutinkové lišty nejsou k mání. Dobře okótované desky Arduino UNO a Arduino MEGA pro použití v Eagle jsou na stránkách Wayne & Layne. Zazipované výkresy desek pro Eagle najdete na  https://www.arduino.cc/en/Main/Products.
Tím jsou snad začátečnické potíže překonané a můžu zkoušet programovat. Mezi námi, programovací jazyky použité pro tyto účely jsou vlastně všechny na jedno brdo. Nejvíc problémů dělá dodržení syntaxe. Nejhorší jsou různé středníky, závorky a podobné nechutnosti.

S tímto SW jdou také programovat ATtiny 45, 85, 44 a 84. Příslušné knihovny si do verze 1.6.4 stáhnete pokud si zvolíte soubor → vlastnosti a do okénka ve spodní části (Additional Board Manager URLs) vložíte adresu:href="https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json a tlačítkem OK potvrdíte. Potom se knihovny v nástrojích přes Boards Manager nahrají a můžete ATtiny programovat. Pro toto použití mám připravený programátor USBasp, který jsem měl k Bascomu. Dál jsem se zatím nedostal a ještě žádné ATtiny neprogramoval. Časem na to ale určitě dojde.

Odkazy

[1]  ARDUINO / GENUINO  stránky Arduina https://www.arduino.cc/
[2]  Arduino  české stránky http://arduino.cz/
[3]  Hobbyrobot  příručka programátora http://www.hobbyrobot.cz/