Stiskněte "Enter" pro přeskočení obsahu

Arduino a Visual Studio

0

Zprvu říkám, že nejsem žádnej programátor… Vlastně mě ani Arduino nějak nebere. Nejsem jeho zastáncem, ani odpůrcem. Ale stejně jako pomalejší USB (v 1.1) vyhrálo „válku“ proti rychlejšímu FireWire, Arduino vyhrává na poli vývojových desek pro amatéry. Za stejnou cenu (teď se bavím o originálu, ne o čínských kopiích) jako Arduino lze koupit pokročilejší vývojové desky a procesory např. od SMC. Arduino má však výhodu v obrovské komunitě (i výrobci jako Siemens umožňují začlenění Arduino Shieldů do svého hardware), nízké ceně (včetně ostatního hardware), která ještě klesá při použití čínských kopií  a ohromné spoustě již hotového kódu, který si lze v podstatě poskládat k sobě a vytvořit fungující věc. Nakonec může Arduino sloužit jako odrazový můstek pro dospělejší systémy…

Někomu vadí, že je Arduino moc jednoduché – přirovnal bych ho třeba k PLC, LabView apod. Tam člověk taky neřeší low-level program. Jenom k sobě skládá části již hotového kódu a vytváří svůj vlastní program. Pokud člověk potřebuje absolutní kontrolu nad procesorem, není Arduino volba číslo jedna…pro všechny ostatní, nebo alespoň do začátku je to použitelný kus hardware. Myslím, že v dnešní době „fejsbuků“ by Assembler stejně všechny odradil…

 

Jako jednu z nevýhod Arduina vidím vývojové prostředí Arduino IDE. Jde v podstatě pouze o poznámkový blok bez žádných lepších funkcí. Na domovské stránce Arduina lze nalézt několik tipů na odlišná vývojová prostředí. Pro ty, co používají Visual Studio od Microsoftu lze doporučit rozšíření VisualMicro, pomocí kterého lze Arduino programovat přímo z prostředí Visual Studia.

Arduino IDE

Nejprve je nutné stáhnout samotné Arduino IDE, nejlépe ze stránek výrobce. Jako další je nutné stáhnout a nainstalovat samotné VisualStudio. Verze Community je zdarma pro jednotlivce i pro komerční použití (viz licence). Je v něm možné programovat v VB.NET, C#, F#, C++, … Za ty peníze opravdu neskutečný nástroj! V tom vidím neskutečný rozdíl např. proti TIA portalu (programování PLC Siemens) – program stojí velký peníze, ale stejně je ještě potřeba drahý hardware. Tady od MS nepotřebujete nic dalšího a zdarma máte opravdu kvalitní vývojový prostředek.

Při instalaci VisualStudia zatrhněte volbu instalace C++. Možné je zvolit si více programovacích jazyků. Doporučuji C#, nebo VisualBasic.NET. Výborný návod pro začátečníky je na stránkách DotNetPortal.cz, nebo na itnetwork.cz. Zde je možné se naučit i základy C#.

Příprava k instalaci VisualStudia

V Marketplace je nutné stáhnout Arduino IDE for Visual Studio. To jednoduše nainstalujte.

Instalace Arduino IDE for VisualStudio

Po úspěšné instalaci se do prostředí VisualStudia přidá nová nabídka a několik lišt. V nabídce zvolte Tools > Visual Micro > Configure Ide Locations. Zobrazí se okno s konfigurací cest pro program.

  • V prvním řádku zvolte verzi Arduino IDE.
  • Ve druhém řádku složku, kde je IDE nainstalované.
  • Ve třetím řádku nastavte cestu, kam se budou vytvořené programy ukládat. Nejlepší je nechat prázdné. Potom se to ukládá do složek, kam běžně ukládá VisualStudio
  • Do posledního řádku se zadávají adresy pro definici dalších zařízení (alternativní desky apod.)
Nastavení cest pro IDE

Nyní již lze vytvořit nový program pro Arduino. Spusťte VisualStudio, zvolte C++ > Visual Micro a Arduino Project. Ten libovolně pojmenujte, zvolte umístění souboru a klikněte na OK.

Tvorba nového projektu (VS 2015)

Vytvoří se nový projekt. Před psaním samotného kódu je dobré nastavit tyto parametry:

  • Verze ArduinoIDE
  • Typ desky/procesoru (vyberte aktuálně připojenou desku)
  • Programátor (tenhle mi funguje, tak jsem to neřešil)
  • Port, ke kterému je Arduino připojeno (zobrazí se jen aktuálně dostupné porty)
 
 
Lišty s volbami

Nyní již lze psát samotný kód. Ten se zkompiluje a odešle do zařízení pomocí šipky „Build and Upload“. Kód ve videu (na obrázku) rozbliká ledku – ta vždy 100 ms svítí a 100 ms nesvítí. Časování se provádí pomocí příkazu delay(x);, který zastaví provádění programu vždy na nastavenou dobu (v ms).

Kód pro Arduino

Nevýhoda příkazu delay(x); je v tom, že dojde k úplnému zastavení programu. Nelze tedy během čekání např. číst data ze snímačů, vykreslovat na displej, kontrolovat, jestli někdo zmáčkl tlačítko apod. Lepší je u periodicky se opakujících operací kontrolovat čas, jestli se mají provést. A pokud nastane správný čas, tak zavolat požadovanou funkci. U kódu jako je výše to není potřeba, ale jakmile je potřeba někde hlídat tlačítka, nebo vykreslovat na displej, tak delay(x); zbytečně zdržuje program. Tuto variantu používám u Sodobaru, kde se vše řídím vnitřním časovačem Arduina. V kódu není jediný příkaz delay(x); a přesto se bliká LEDkou, čeká požadovaný čas apod. Další možností je použít nějakou hotovou knihovnu, která časování řídí za nás. V již zmíněním sodobaru používám i Tasker, který je velice jednoduchý na obsluhu a nezabírá moc místa v paměti procesoru.

Stejný program jako výše, ale bez použití funkce delay(x);

Samozřejmě, že i ve Visual studiu lze použít sériový monitor. Ten lze použít k pohodlné diagnostice programu v procesoru.

Serial monitor ve Visual Studiu

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *