Jasper - SK

From TNtech Wiki
(Difference between revisions)
Jump to: navigation, search
(Vlastnosti)
(Vlastnosti)
Line 48: Line 48:
 
| Linux    || 80%    || 50%    || 100%        ||  60%      ||  40%      ||  20%    ||  20%    ||  20%   
 
| Linux    || 80%    || 50%    || 100%        ||  60%      ||  40%      ||  20%    ||  20%    ||  20%   
 
|-
 
|-
| WIN      ||         ||         ||            ||            ||          ||          ||        ||
+
| WIN      || 80%    || 30%    ||            ||            ||          ||          ||        ||
 
|-
 
|-
| Android  ||         ||         ||             ||           ||           ||         ||         ||
+
| Android  || 10%    || 10%    || 0%        || 0%        || 0%        || 0%      || 0%      || 0%
 
|}
 
|}
  

Revision as of 21:32, 15 August 2012

Jasper Ver. 006-TECH


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

Kontakt

Development team
e-mail jasper@tntech.eu
www ----
ICQ ----
Skype ----
Google+ ----
Facebook ----

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.

Platform Editor Library SensorBoard RobotBoard LabBoard IrAdapter Plotter Ardurino
Linux 80% 50% 100% 60% 40% 20% 20% 20%
WIN 80% 30%
Android 10% 10% 0% 0% 0% 0% 0% 0%

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

Img 01.png Základná forma STACK bloku. Blok je vektorový, je možné preeditovať ho do inej formy.
Img 02.png Aktivácia terminálu STACK bloku, závisí od typu cieľového a zdrojového bloku. Prepojením blokov je definované poradie ich vykonávania.
Img 03.png Editor hodnoty vnoreného bloku VALUE, aktivuje sa kliknutím na hodnotu. Potvrdenie hodnoty a ukončenie editácie je kliknutím na pracovnú plochu editora.
Img 04.png Zmena rozmerov bloku po zmene hodnoty vnoreného bloku.
Img 05.png Aktivácia terminálu vnoreného bloku, závisí od typu cieľového a zdrojového bloku.
Img 06.png Zmena rozmerov bloku po zmene jeho konfigurácie.
Img 07.png Kontextové menu bloku, obsah menu závisí od typu bloku (STACK, VALUE, VARIABLE, LIST ...), aktivuje sa pravým klikom na ploche bloku.

Pokročilé vlastnosti editora

Editor umožňuje tvorbu skriptov spájaním a vnáraním blokov z knižnice. Na ploche editora môže byť umiestnených viacero skriptov, po spustení sa chovajú ako samostatné programy.

Jednoduchý program
Výstup programu na kresliacej tabuli


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 zdieľaným prostriedkom (komunikácia, RobotBoard, LabBoard ...). Ukážka zdielania systémových prostriedkov dvoma jednoduchými programami, ktoré komunikujú s RobotBoard-om a prepínajú 2 logické výstupy je na nasledujúcom obrázku.

Programy pre prepínanie logických výstupov (PIN1, PIN2)
Komunikácia na zbernici (žltá-command, modrá-response)
Výsledok programu (žltá-PIN1, modrá-PIN2)

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

Sensor board.jpg
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.
Vnútorná štruktúra procesora TNtech 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.

Sensor variables.png

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

Robot variables.png
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox