Dashboard

Více o operacích se symboly a celým programem jBlocks najdete na stránce Práce s programem. Odesílání a příjem hodnot v počítači jBotBrain II obstarávají příslušné bloky.

Skupina Výstupy

LED displej

LED displej zobrazuje přijatou číselnou hodnotu, která může být ve formátu celého i desetinného čísla. Panel umožňuje nastavit barvu displeje, výchozí zobrazovanou hodnotu, počet číslic a případně vypnutí displeje, dokud neobrží data.

V případě změny počtu číslic je potřeba změnit i formátovací řetězec pro výpis čísel. Tento formátvací řetězec je podobný syntaxi známé z funkce printf (C/C++, PHP, Python, …), případně metody Strinf.format (Java). Umožňuje specifikovat počet číslic, případně zarovnání a přesnost.

Syntaxe formátovacího řetězce

Formátovací řetězec má následující formát (parametry v hranatých závorkách jsou nepovinné):

%[modifikátor][počet_číslic][.přesnost]datový_typ
  • modifikátor může být '-' pro zarovnání doleva, ' ' pro doplnění kladné hodnoty o mezeru nebo '0' pro zarovnání nulami
  • počet_číslic udává minimální délku výsledného výstupu. Pokud je skutečný počet číslic menší než uvedený parametr, doplní se výsledný řetězec zleva mezerami (případně nulami, je-li hodnota parametru modifikátor rovna nule).
  • přesnost má smysl jen v případě desetinných čísel a udává počet zobrazených číslic za desetinnou čárkou.
  • datový_typ je povinný parametr a udává datový typ převáděné hodnoty. Může být 'd' pro celé číslo, případně 'f' pro číslo desetinné.

Příklady

Formátovací řetězec Hodnota Výstup
%d 42 „42“
%f 4.2 „4.200“
%4d 42 “ 42“
%04d 42 „0042“
%.1f 42.2 „42.2“
%5.1f 42.2 “ 42.2“
%05.1f 42.2 „042.2“
%.0f 42.2 „42“

Časový graf

Časový graf zobrazuje průběh veličiny (desetinné číslo) v čase. Kromě nastavění rozsahů umožňuje i změnu formacího řetězce pro čísla na osách, případně změnu barvy vykreslované čáry. Čas je uváděn v sekundách.

Graf může být pohyblivý (hodnoty na časové ose spolu s přibývajícím časem mění), případně nepohyblivý (vhodný pro zobrazení přechodových jevů, například průběhu otáček při zapnutí motoru).

Je-li zvolen počátek v t=0 s, znamená to, že se čas na časové ose počítá od startu programu v počítači jBotBrain II. V opačném případě odpovídá nula na časové ose prvnímu přijetí hodnoty.

Analogový měřič

Analogový měřič slouží ke zobrazení hodnoty (desetinné číslo) ručičkovým zobrazovačem. Umožňuje nastavení barvy ručičky, rozsahu zobrazovače, výchozí hodnoty a zobrazované jednotky.

Je-li zvolena skoková změna, skočí ručička na svou polohu okamžitě po přijetí hodnoty. V opačném případě je pohyb animovaný, aby simuloval chování reálného přístroje.

LED dioda

LED dioda slouží k jednoduché signalizaci logické hodnoty (svítí/nesvítí). Kromě nastavení barvy lze hodnotu invertovat, takže dioda svítí v přípaě, že je přijatá logická hodnota nepravdivá (false).

RGB LED dioda

RGB LED dioda svítí libovolnou barvou, kterou lze zvolit intenzitou jednotlivých barevných kanálů. Výchozí barvu lze nastavit. Nastavení RGGB LED diody nastavena na černou barvu (000000) znamená její vypnutí (výchozí stav).

Formát barvy

Barva je řetězec šesti znaků, který obsahuje intenzity jednotlivých barevných složek RGB (red, green, blue, tedy červená, zelená a modrá) jako hexadecimální čísla v rozsahu 00-FF (0-255 dekadicky).

Příklady: 000000 je černá, FFFFFF bílá, FF0000 červená, 00FF00 zelená a 0000FF modrá.

LED sloupec

LED sloupec slouží ke zobrazení celočíselné hodnoty v deseti úrovních s rozsahem 0-100. Při hodnotě 0 nesvítí žádný proužek, hodnota větší než 90 znamená rozsvěcení všech.

LCD displej

Čtyřřádkový LCD displej zobrazuje příchozí textové řetězce jako jednotlivé řádky. Poslední řádek obsahuje nejnovější zprávu. V případě zaplnění displeje se první řádek smaže a staré zprávy se posunou o úroveň výš.

RGB LED matice

RGB LED matice umožňuje zobrazit barevné pixely v matici s nastavitelným rozlišením do 32×32. Kromě nastavení počtu pixelů (rozlišení) je možné také nastavit velikost samotného modulu.

Panel přijímá hodnoty jako řetězec ve formátu

sloupec;řádek;barva

kde sloupec (číslováno od nuly zleva do prava) a řádek (číslováno od nuly shora dolů) jsou pozice pixelu a barva je řetězec ve formátu RRGGBB, podobně jako u panelu RGB LED dioda. Nastavení černé barvy (000000) znamená zhasnutí pixelu (výchozí stav).

Příklad: Odeslání hodnoty 0;0;00ff00 rozsvítí levý horní pixel červeně.

Bzučák

Bzučák umožňuje zahrát libovolný tón po danou dobu (v milisekundách). Tón je možné panelu odeslat několika způsoby:

  • Řetězcem („C4“, „B5“, …)
  • Číselnou konstantou (k tomu existuje speciální blok, konstanty jsou shodné s konstantami v Java třídě jBotBrain2.hw.Sound, například Sound.C4 nebo Sound.B5)
  • Logickou hodnotou (pokud blok obdrží hodnotu true, zahraje tón, který je nastaven jako výchozí)

Přípustné tóny jsou: C4, D4, E4, F4, G4, A4, B4 (H4), C5, D5, E5, F5, G5, A5, B5 (H5), C6.

Popisek

Popisek slouží k okomentování jednotlivých bloků v Dashboardu. Je možné nastavit minimální šířku a text popisku. Je-li šířka textu menší než šířka celého bloku, je text zarovnán na jeho střed.

Šedě čárkovaný rámeček se ve výsledném Dashboardu nezobrazuje, slouží pouze k ohraničení panelu při tvorbě rozhraní.

Skupina Vstupy

Tlačítko

Tlačítko odesílá při kliknutí logickou hodnotu, která odpovídá stavu tlačítka. Výsledná hodnota je pravdivá (true), je-li stačítko stiskuto. Kromě nastavení barvy tlačítka je možné také hodnotu invertovat.

Přepínač

Přepínač funguje podobně jako Tlačítko s tím rozdílem, že svou logickou hodnotu drží - je tedy vhodný např. pro zapínání a vypínání motorů. Kromě barvy přepínače je možné nastavit výchozí stav (vypnuto nebo zapnuto).

Posuvný potenciometr

Posuvný potenciometr odesílá celočíselnou hodnotu odpovídající poloze jezdce pokaždé, když se jeho poloha změní. Výsledná hodnota je v rozsahu 0..100, roste zleva doprava. Panel umožňuje nastavení barvy jezdce.

Otočný potenciometr

Otočný potenciometr odesílá celočíselnou hodnotu odpovídající poloze jezdce pokaždé, když se jeho poloha změní. Výsledná hodnota je v rozsahu 0..100, roste se směrem otáčení hodinových ručiček a maximum má v poloze „12 hodin“.

Kromě barvy jezdce je možné nastavit, zda se jedná o potenciometr se mechanickou zarážkou nebo bez ní. V případě, že je zvolena volba bez zarážky, je možné kolečko bez omezení protáčet.

Skupina Animace

Motor

Panel Motor slouží k animaci stejnosměrného motoru. Rychlost motoru udává celočíselná hodnota v rozsahu -100..100, kde -100 je otáčení maximální rychostí proti směru hodinových ručiček, 100 je otáčení maximální rychlostí po směru hodinových ručiček a 0 znamená zastavení motoru. Panel umožňuje nastavení výchozí rychlosti.

Servo

Panel Servo slouží k animaci modelářského servomotoru. Poloha unašeče odpovídá celočíselné hodnotě v rozsahu 0..100, kde 0 znamená výchylku -90° doleva, hodnota 100 odpovídá výchylce +90° doprava a 50 je výchozí středová poloha.

Je-li zvolena skoková změna, skočí unašeč na svou polohu okamžitě po přijetí hodnoty. V opačném případě je pohyb animovaný, aby simuloval chování reálného servomotoru.

Skupina Soubory

Vstup ze souboru

Panel Vstup ze souboru umožňuje načítat hodnoty z textového souboru. Cesta k souboru může být zadána jako absolutní nebo relativní. Relativní cesty fungují pouze v případě, že je Dashboard spuštěn jako samostatná aplikace.

Panel očekává číselnou hodnotu, která udává počet řádků k načtení a odeslání (například 1) - funguje tedy zároveň jako vstupní i výstupní. V případě, že je během odesílání dosažen konec souboru, odešle panel volitelný řetězec označující konec řádku (Označení EOF - end of file).

Hodnoty v souboru mohou být číselné (každá hodnota na jeden řádek) nebo jako textové řetězce - v takovém případě je ale nutné naprogramovat vlastní zpracování.

Výstup do souboru

Panel Výstup do souboru umožňuje ukládat libovolnou příchozí hodnotu do textového souboru název_panelu.txt, který se vytvoří ve stejném adresáři jako spuštěný Dashboard. V případě, že je Dashboard spuštěný z prostředí jBlocks (ne jako samostatná aplikace), ukládání do souboru nefunguje.

Jednotlivé hodnoty jsou zapisovány na samostatné řádky. Panel umožňuje vložit časovou značku, což je počet milisekund od spuštění jBotBrainu II. V tomto případě je časová značka umístěna před hodnotou proměnné a je oddělena zadaným oddělovačem, například středníkem. Výsledný soubor je možné otevřít například v programu Excel nebo Matlab (funkce Import CSV souboru).

Nahoru