Prostredie Visiduino IDE

Základné vlastnosti

Prostredie Visiduino IDE je nástroj vyvíjaný spoločnosťou Xenon Studio, spol. s r.o. a slúži k jednoduchému a rýchlemu návrhu programov pre mikroprocesory Atmel. Aktuálne sa nachádza program Visiduino vo verzii Beta. To znamená, že sa jedná o stále vyvíjajúci sa program. Aktuálne je možné pracovať s mikroprocesormi Atmel AT-Mega 2560. Tento mikroprocesor bol zvolený ako prvý nakoľko tvorí základ prototypovej dosky Arduino Mega 2560. Spojením hárdveru Arduino Mega 2560 a programu Visiduino IDE môže ktokoľvek vytvárať programy bez nutnosti učiť sa a písať program v klasickom programovacom jazyku. Visiduino pracuje na grafickom princípe a je vyvíjané za účelom zjednodušiť a zrýchliť vývoj softvéru pre zariadenia.

Obr.1: Bloky a prepojenie medzi nimi

Grafický prístup pri programovaní je založený na princípe stavebnice. Každá jedna stavebnica obsahuje základné stavebné prvky a spôsob ako ich medzi sebou prepojiť. Základným stavebným prvkom programu visiduino je blok viď Obr. 1.

V stavebnici existujú rozličné stavebné prvky k vytvoreniu požadovanéj funkcii a tvaru. Visiduino obsahuje množstvo blokov pomocou, ktorých je možné vytvoriť program presne podľa požiadaviek. Funkcie týchto blokov sú od jednoduchých (ako napr. načítanie/zápis digitálnej hodnoty z vstupov, viď Obr. 1.) až po pokročilé (ako napr. vytvorenie vzhľadu aplikácie pre smart zariadnie).

Bloky majú vstupy a výstupy. Vstupy slúžia pre nastavenie správania bloku a výstup informujú o výsledkoch operácie vykonaných blokom. Napríklad na Obr. 1. má blok Digital Output jeden vstup označený číslom ,,4". Na tomto vstupe očakáva údaje, ktoré použíje k nastavenie digitálneho výstupu. Digitálny výstup môže byť buď zapnutý, alebo vypnutý. Preto ak na vstupe bloku Digital Output bude hodnota 0, bude príslušný digitálný výstup vypnutý. Pri hodnote 1 bude zasa príslušný digitálny výstup zapnutý. Na podobnom princípe pracuje aj blok Digital Input. Tento blok má jeden výstup, ktorý reprezentuje príslušný zvolený vstup. Na Obr. 1. je blok Digital Input nastavený k čítaniu údajov z digitálneho vstupu číslo ,,17".

Ak teraz prepojíme výstup jedného bloku s vstupom druhého bloku vznikne nám jednoduchý program, ktorý ovláda výstup 4 na základe stavu vstupu číslo 17. Ak by sme pripojili tlačidlo k vstupu číslo 17 a LED diódu k výstupu číslo 4 tak vieme zapínať a vypínať LED diódu pomocou tlačidla. Pravidlá pre vytváranie prepojení medzi blokmi sú jednoduché. Výstup bloku môže byť pripojený k ľubovolnému počtu vstupov. Avšak, každý vstup môže byť pripojený iba k jednému výstupu.

Časti Visiduino IDE

Obr.2: Knižnica blokov

Knižnica blokov

V časti knižnica blokov (Library) sa nachádzajú všetky bloky, ktoré je možné použiť pri navrhovaní programu. Bloky sú v nej zaradené do kategórii podľa svojej funkcii.

  • App - v kategórii app sú bloky používane pri návrhu aplikácii pre smart zariadenie. Vytvorenou aplikáciou je možné hneď ovládať váš program. Tieto bloky majú využitie hlavne pri navrhovaní automatizácie pre domácnosti, alebo pri ovládaní robotov pomocou Bluetooth.
  • Bit logic - bloky z tejto kategórie sa používajú pri operáciách s jednotlivými bitmi pamäti.
  • Communication - každé zariadenie potrebuje komunikovať so svojím okolím. V téjto kategórii sú bloky pomocou, ktorých je možné komunikovať napr. s akcelerometrami (I2C zbernica), alebo s GPS, GSM či WiFi modemom (sériová linka).
  • Continuous - bloky využívané pri návrhu PID regulátorov, filtrov a automatizačných algoritmov.
  • Control - riadenie behu programu.
  • Conversion - konverzia medzi údajmi napr. číslo na text.
  • Group - vytvorenie skupiny blokov. Využíva sa hlavne keď začína byť program rozsiahli. Vytvorením skupiny blokov vznikne nový blok, ktorý v sebe obsahuje ďalšie bloky čím je celkový návrh jednoduchší a prehladnejší.
  • Interrupt - vytvorenie skupiny blokov, ktoré sa vykonajú pri vzniku určitej udalosti napr. reakcia na stlačenie núdzového tlačidla.
  • IO - spracovanie vstupov a výstupov + ovládanie serva a PWM signálu.
  • Logic - logické operácie s údajmi. Využitie pri riadení typu: ak je teplota vyššia ako 30°C spusti chladenie.
  • Math - metematické operácie s údajmi tzn. spočítanie, delenie, sin, acos.
  • Notes - vloženie poznámok do programu. Ak je program rozsiahli, alebo je potrebné určitú časť vysvetliť, použijú sa bloky v téjto kategórii.
  • Signal - spracovanie signálu tzn. obmedzeniu na určitú hodnotu, prevod na iný rozsah a pod.
  • Sink - tieto bloky sa využívajú na ľadenie programu resp. na sledovanie behu programu. Jednoducho povedané je možné sa s nimi pozrieť čo sa odohráva vo vnútri zariadenia.
  • Source - tieto bloky umožňujú vytvorenie signálu s ľubovolným tvarom a frekvenciou.
  • String - spracovanie a vytvorenie textu (reťazcov).
  • Visiduino - bloky pre jednoduché a intuitívne ovládanie nášho hardvéru.
Obr.3: Tvorba modelu

Tvorba modelu

Program sa vytvára v časti tvorba modelu viď Obr. 3. Do tejto časti sa ukladajú bloky z knižnice. Bloky je možné vkladať jednoducho potiahnutím názvu bloku do časti tvorba modelu (Drag & Drop). Pri vytvorení nového programu je v téjto časti iba jedna záložka. Ďalšie záložky sa dajú vytvárať spájaním blokov do skupín pomocu bloku Group. Dvojklikom na blok Group sa otvorí nová záložka s obsahom bloku.

Nastavenia blokov sa vykonávajú dvojklikom na blok čím sa zobrazí okno s nastaveniami bloku. Dvojklikom na meno bloku sa dá zmeniť jeho názov, čím je možné jednoducho doplniť ďalšie informácie o význame bloku v schéme. Prepojenia medzi blokmi sa vytvárajú potiahnutím ukazovateľa myši od výstupu bloku na vstup iného bloku.

Obr.4: Výstup príkazov

Výstup príkazov

V časti výstup príkazov viď Obr. 4 sa zobrazuje výstup práve vykonávaných príkazov. Táto časť inforumuje používateľa o stave pripojenia k hardvéru, výsledku kompilácie vytvoreného modelu a dopĺňa informácie potrebné k odstráneniu vzniknutých nedostatkov vo vytvorenom programe.