Jasper - SK
Contents |
Popis
Programovacie prostredie pre výuku programovania zamerané na tvorbu interaktívnych aplikácií z robotiky, experimentov z fyziky a komunikačných technológií.
Vlastnosti
- Vizuálne kompatibilný s programom Scratch
- Vytvorený v Jave s využitím knižnice Visual Library
- Distribúcia prostredníctvom technológie Java WebStart
- Podporované platformy
- Linux Ubuntu 12.04 (testovaný)
- Win (netestovaný)
- Android (plánovaný)
- Podpora HW platforiem
- TNtech SensorBoard (kompatibilný so Scratch Sensor Board)
- TNtech RobotBoard - riadenie stacionárnych mechanických experimentov a a mobilných robotov
- TNtech LabBoard - zber dát a riadenie fyzikálnych experimentov
- TNtech IrAdapter - USB adaptér pre komunikácia pomocou protokolu RC5, RC6
- TNtech Plotter - USB adaptér pre komunikáciu s klasickým HPGL plottrom (RS232, Centronics)
- Arduino
Projekt je aktuálne v štádiu technologického dema pre testovanie použitých technológií, algoritmov a postupov.
Grafický Editor
Editor pre tvorbu programov z preddefinovaných blokov. V prostredí Jasper môže byť otvorených niekoľko okien editora a v každom editore môže byť niekoľko samostatných programov. Každý program je po spustení interpretovaný v oddelenom vlákne a programy vzájomne komunikujú prostredníctvom udalostí alebo globálnych premenných.
Elementárne vlastnosti editora
Pokročilé vlastnosti editora
Editor umožňuje interpretáciu kódu v samostatných vláknach (multihreading), pre každý oddelený stack blokov je vytvárané samostatné vlákno. Pomocou synchronizácie threadov je zabezpečený bezkolízny prístup jednotlivých programov k zdielaným prostriedkom (komunikácia, RobotBoadr, LabBoard ...). Ukážka zdielania systémových prostriedkov dvoma jednoduchými programami, ktoré komunikujú s RobotBoard-om a prepínajú 2 logické výstypy je na nasledujúcom obrázku.
Knižnice
Draw
Knižnica určená pre kreslenie na okne grafickej tabule. Knižnica je čiastočne kompatibilná s knižnicou programu Scratch. Pri pripojenom adaptéri TNtech Plotter je možné výstup z grafickej tabule (s obmedzeniami) presmerovať na HPGL kompatibilný grafický plotter.
Kategória | Popis |
---|---|
Motion | Riadenie pohybu pera. |
Pen | Nastavenie vlastností pera. |
Looks | Pri kreslení v móde PEN-VISIBLE nastavenie grafickej reprezentácie pera. |
Sound | Zvukové efekty. |
Control
Riadenie toku programu a správa premenných.
Kategória | Popis |
---|---|
Control | Implementácia základných riadiacich štruktúr. |
Operators | Numerické a logické operátory |
Variables | Správa premenných |
List | Správa zoznamov premenných. |
GUI
Plávajúce komponenty sa zobrazujú na pracovnej ploche mimo štandardných okien prostredia.
Kategória | Popis |
---|---|
Input | Plávajúce vstupné komponenty. |
Output | Plávajúce výstupné komponenty. |
Keyboard | Správa udalostí klávesnice. |
Mouse | Správa udalostí myši. |
Timer | Správa časovačov. |
World
Knižnice pre komunikáciu programov s reálnym svetom prostredníctvom HW platforiem.
Kategória | Popis |
---|---|
SensorBoard | Vstupné premenné pre načítanie hodnôt z TNtech Sensor Board. |
Robot | Riadenie robotov. |
LabBoard | Zber a riadenie fyzikálnych experimentov. |
IR Control | Komunikácia prostredníctvom IR. |
Internet
Knižnica pre tvorbu distribuovaných systémov z viacerých prostredí Jasper prostredníctvom ich prepojenia cez Internet. Využíva technológiu RMI/Corba.
Kategória | Popis |
---|---|
Input | Prijatie a a načítanie hodnoty premennej. |
Output | Vyslanie hodnoty premennej. |
Podpora HW platforiem
TNtech Sensor Board
Zariadenie umožňuje jednoduchú komunikáciu s programom prostredníctvom svetelného a akustického senzora, tlačítka a posúvača. TNtech Sensor Board je v robustnej plastovej krabičke a je napájaný z USB portu. Má 4 vstupy pre pripojenie odporových snímačov a periférií vyvedené na štandardné konektory typu CINCH. Na úrovni protokolu je kompatibilný so štandardným Scratch Sensor Board.
Zariadenie je postavené na báze procesora CY8C27443, ktorý riadi a spracováva vstupné signály. Červeno označené CINCH vstupy A a C majú numericky linearizovanú charakteristiku a sú určené pre pripojenie periférií pre proporcionálne riadenie (joystick, slider), kde hodnota je lineárne úmerná polohe. |
Riadenie komunikácie a sprístupnenie hodnôt zo zariadenia je možné prostredníctvom knižnice Library World - SensorBoard . V okne knižnice je možné pripojiť sa ku zariadeniu, farba tlačítka Open-Close Port indikuje prítomnosť alebo neprítomnosť zariadenia na zvolenom porte. Prepínačom Use Raw Values je možné ako hodnoty premenných použiť normované hodnoty z rozsahu (0 - 100) alebo 10-bitové hodnoty z rozsahu(0 - 1023). Aktuálne namerané hodnoty senzorov je možné zobraziť tlačítkom Hide Variables.
TNtech RobotBoard
Platforma pre riadenie stacionárnych mechatronických systémov a pohyblivých robotov. Je postavená na procesore ARM Cortex M3 a umožňuje programu komunikovať s nasledujúcimi perifériami
Výstupy
- 4 štandardné analógové servomotory (šírka pulzu 20msec)
- 2 jednosmerné motory (do 1Amp, dopredu, dozadu, PWM 0-100%)
- 2 krokové motory
- 8 binárnych výstupov (4 výstupy ovládajú relé)
Vstupy
- 4 analógové 10 bitové vstupy 0-10V
- 4 binárne vstupy
Senzory On-Board
- ultrazvukový senzor vzdialenosti
- detektor hluku
- detektor modulovaného svetla
Riadenie komunikácie a sprístupnenie hodnôt zo zariadenia je možné prostredníctvom knižnice Library World - RobotBoard. V okne knižnice je možné pripojiť sa ku zariadeniu, farba tlačítka Open-Close Port indikuje prítomnosť alebo neprítomnosť zariadenia na zvolenom porte. Vyber bitov pre binarne operacie je prostredníctvom ich váh (1+2+4+8...), t.j. ak potrebujeme zmenit stav bitov 1 a 2, použijeme blok Toggle Pin s hodnotou 3. Hodnoty pre PWM servo sa zadávajú z rozsahu (-100, +100) a zodpovedajú maximálnym výchylkám serva.
TNtech RobotBoard je vo vývoji a uvedená technická špecifikácia sa môže zmeniť.