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).