Příklady programů

Na této stránce najdete několik příkladů programů pro jBlocks i s krátkým vysvětlením funkce. Jsou vhodné pro seznámení s vizuálním prostředím a deskou jBotBrain II.

Bloky

Jednoduché blikání LED

První příklad pouze vypíše pozdrav do konzole (příkaz Vypiš), rozbliká všechny LED diody na jBotBrainu II a spustí nekonečnou smyčku. Nekonečná smyčka slouží k tomu, aby se program po nastavení poslední LED samovolně neukončil.

Komentář (bílý blok) slouží k uchování informací o programu, na jeho funkčnost nemá žádný vliv.

JBL soubor s příkladem ke stažení zde: blink1.jbl.

Složitější blikání LED

Druhý příklad rozbliká oranžovou LED diodu s intervalem 200 ms. K blikání jsou použity příkazy Rozsviť LED a Zhasni LED, které jsou spouštěny v nekonečném cyklu. O rozsvícení nebo zhasnutí LED rozhoduje podmínka, která kontroluje hodnotu proměnné led. Pokud je hodnota proměnné rovna true (pravda), je rozsvícena LED a změněna hodnota proměnné na false. V opačném případě LED zhasne a proměnná je nastavena zpět na hodnotu true. Každý průchod cyklem (iterace) obsahuje také příkaz Počkej 200 ms, který slouží ke zpoždění (jinak by blikání nebylo díky příliš velké rychlosti změn znatelné).

Celý příklad lze i zjednodušit úpravou hlavního cyklu - místo nastavení hodnoty proměnné v podmínce použijeme operaci led = !led, která zneguje hodnotu proměnné (z true na false a naopak):

JBL soubor s příkladem ke stažení zde: blink2.jbl.

Vypisování hodnot potenciometru

Program slouží pouze k vypisování polohy osy potenciometru v procentech do konzole. Na začátku je nastaveno blikání zelenou LED, aby bylo zřejmé, že je v jBotBrainu II nahrán nějaký program. Vypisování probíhá v nekonečné smyčce se zpožděním 200 ms. Celá rutina pro vypsání hodnoty (načtení do proměnné pot a následný výpis do konzole) je pro přehlednost uložena ve funkci potenciometr:

JBL soubor s příkladem ke stažení zde: potentiometer.jbl.

Matematické funkce

Program vypíše hodnoty funkce sinus pro 0°, 15°, 45°, 60°, 75°a 90°. Výsledek je uložen do proměnné vysledek. Zapotřebí jsou dvě funkce z třídy Math - sin a toRadians, protože parametrem funkce sin je úhel v radiánech.

Jelikož hodnoty funkce sinus se pohybují v intervalu < -1; 1 >, je nutné pro uložení výsledku použít proměnnou typu desetinné číslo a výsledek operace Math.sin(a) přetypovat na (float).

Program je určen pro výstup do konzole, jelikož nevyužívá žádný hardware jBotBrainu II a slouží pouze k seznámení se s matematickými funkcemi.

JBL soubor s příkladem ke stažení zde: sine.jbl.

Třídění hodnot v poli

Příklad ukazuje vytvoření pole o daném počtu prvků (proměnná delka), naplnění náhodnými hodnotami, vypsání, setřídění metodou Bubble Sort a opětovné vypsání setříděných hodnot. Jednotlivé operace jsou pro větší přehlednost umístěny do funkcí.

Bubble Sort (bublinkové třídění) je nejjednodušším ze třídícíh algoritmů - neustále prochází pole, porovnává a případě prohazuje dva sousední prvky („probublávání“), dokud není setříděno.

Program si můžete ověřit i na větším než 20-ti prvkovém poli, stačí změnit hodnotu proměnné delka.

Program je určen pro výstup do konzole.

JBL soubor s příkladem ke stažení zde: bubblesort.jbl.

Žebříčkové diagramy

Blikání LED

  1. Pokud je výstup časovače v nízké úrovni, spustí se časovač TP s prodlevou 300 ms a zároveň se nastaví proměnná PULS. Protože je výstup časovače při prvním průchodu v nízké úrovni, provede se tento příkaz okamžitě po startu. Proměnná PULS si drží vysokou hodnotu z prvního rungu pouze po dobu iterace cyklem, při dalším průchodu je shozena.
  2. Přepnutí proměnné LED v případě, že je proměnná PULS ve vysoké úrovni, zároveň je rozsvícena zelená LED v případě, že je proměnná LED ve vysoké úrovni a zároveň není přítomen puls z časovače.

JBL soubor s příkladem ke stažení zde: ld_blink.jbl.

Čítač

  1. Generování pulsu pomocí TP časovače podobně jako u Blikání LED, puls zvýší hodnotu čítače a zároveň blikne oranžovou LED.
  2. Vypsání stavu čítače (pomocí $counter[2]) a rozsvícení zelené LED. Protože na 2. rungu není žádný vstup, svítí zelená LED neustále (vhodné jako indikátor běhu programu).

JBL soubor s příkladem ke stažení zde: ld_pulse.jbl.

Pásový dopravník

Příklad ukazuje zapojení pásového dopravníku se svěma motory, u kterého je vhodné, aby se motory rozbíhaly postupně. Zároveň je nutné, aby se motory zastavily v okamžiku, kdy je stistknuto bezpečnostní STOP tlačítko.

  1. Jestliže je stisknuto tlačítko 2 (START) nebo jestliže byla proměnná RUN při poslední iteraci programového cyklu ve vysoké úrovni a zároveň není stisknuto tlačítko 3 (STOP), je proměnná RUN nastavena na vysokou úroveň. Tím se zachová její hodnota a zaručí se zastavení při stisku tlačítka 3 (STOP).
  2. Pokud je proměnná RUN ve vysoké úrovni, je spuštěn časovač TON s prodlevou 1000 ms.
  3. Zároveň je spuštěn motor A a rozsvícena LED GREEN1.
  4. Pokud je výstup časovače 1 ve vysoké úrovni (u časovače TON po uplnyutí prodlevy 1000 ms), je spuštěn motor B a rozsvícena LED GREEN2.
  5. Poslední rung zajistí rozsvícení červené LED, pokud soustava stojí.

JBL soubor s příkladem ke stažení zde: ld_conveyor_belt.jbl.

Dashboard

Tento příklad ukazuje jednoduché ovládání periferií (červené LED diody a serva připojeného k dgitálnímu výstupu OUT1) prostřednictvím Dashboardu.

Dashboard obsahuje následující panely:

  • Tlačítko s názvem button - slouží k zapínání/vypínání LED diody
  • LED dioda s názvem led
  • LED displej s názvem angle - zbrazuje polohu serva v úhlech
  • Posuvný potenciometr s názvem pot - nastavuje polohu serva
  • Servo s názvem servo

Program pro jBotBrain II pak pouze reaguje na příchozí hodnoty a posílá zpátky odezvu:

Soubory s příkladem ke stažení najdete zde:

Nahoru