13
Krátký návod pro prostředí Krátký návod pro prostředí LeJOS-NXJ LeJOS-NXJ

Krátký návod pro prostředí LeJOS-NXJ

  • Upload
    dewitt

  • View
    41

  • Download
    4

Embed Size (px)

DESCRIPTION

Krátký návod pro prostředí LeJOS-NXJ. Základní srovnání nejpoužívanějších programovacích prostředí pro NXT. Výhody LeJOS-NXJ. Mnoho předpřipravených metod, které usnadňují a urychlují programování. Pohodlné programování v NetBeans Možnost objektového programování v jazyce JAVA Podpora float. - PowerPoint PPT Presentation

Citation preview

Page 1: Krátký návod pro prostředí LeJOS-NXJ

Krátký návod pro prostředí Krátký návod pro prostředí LeJOS-NXJLeJOS-NXJ

Page 2: Krátký návod pro prostředí LeJOS-NXJ

Základní srovnání nejpoužívanějších Základní srovnání nejpoužívanějších programovacích prostředí pro programovacích prostředí pro NXTNXT

NXT-GNXT-G NXCNXC LeJOS NXJLeJOS NXJ

JazykJazyk Grafický NotExactly C JAVA

PlatformaPlatforma Win., Mac Win., Linux, Mac

Win., Linux, Mac

IDEIDE Ano Ano Plugin do Eclipse a Netbeans

Podpora Podpora floatfloat

Ne Ne Ano

Obsluha Obsluha událostíudálostí

Ne Ne Ano

Page 3: Krátký návod pro prostředí LeJOS-NXJ

Výhody LeJOS-NXJVýhody LeJOS-NXJ• Mnoho předpřipravených metod, které usnadňují

a urychlují programování.• Pohodlné programování v NetBeans• Možnost objektového programování v jazyce

JAVA• Podpora float

Nevýhody LeJOS-NXJNevýhody LeJOS-NXJ• Komplikovaná instalace• Nutnost základní znalosti programování

Page 4: Krátký návod pro prostředí LeJOS-NXJ

Základní metody IZákladní metody I

Třída Motor:• void forward()

– Spustí motor dopředu

• void setSpeed(int speed)– Nastaví rychlost motoru

(úhlových stupňů za vteřinu)(0-900)

• void stop()– Vypne motor

• void rotate(float angle) – Otočí motor o úhel Příklad:

Motor.A.setSpeed(200);

Page 5: Krátký návod pro prostředí LeJOS-NXJ

Základní metody IIZákladní metody IITřída Button:• void waitForPress()

– Čeká se dokud se nezmáčkne tlačítko

Třída LCD:• void drawString(String

str, int x, int y)– Vykreslí řetězec na displej

Příklad:Motor.A.forward();LCD.drawString("DOPREDU", 0, 0);Button.waitForPress();

Page 6: Krátký návod pro prostředí LeJOS-NXJ

Interface Pilot, třída TachoPilotInterface Pilot, třída TachoPilot• Používá se pro robota typu vozidlo.• Umožňuje použít mnohé užitečné metody.

Konstruktor:

TachoPilot(float wheelDiameter, float trackWidth, Motor leftMotor, Motor rightMotor)– wheelDiameter = průměr kol, trackWidth = rozkol kol

– Vše musí být ve stejných jednotkách, ty si volíte sami. Všechny metody pak vrací hodnoty v jednotkách v jakých jste inicializovali tuto třídu.

Příklad:Pilot pilot = new TachoPilot(56f, 110f, Motor.A, Motor.C);

Page 7: Krátký návod pro prostředí LeJOS-NXJ

Pokročilé metody IPokročilé metody ITřída Pilot:• void arc(float radius)

– Robot pojede po oblouku. – radius = poloměr zatáčky.

• void steer(float turnRate)– Robot pojede po zakřivené

dráze.– turnRate = 100…levé kolo

stojí, pravé se točí dopředu– turnRate = 200 ... levé kolo se

točí dozadu, pravé se točí dopředu

Příklad://Robot bude jezdit dokola, dokud se nestikne ESCAPEPilot pilot = new TachoPilot(56f, 110f, Motor.A, Motor.C);while (Button.ESCAPE.isPressed() == false){pilot.steer(100);}

Page 8: Krátký návod pro prostředí LeJOS-NXJ

Pokročilé metody Pokročilé metody IIIITřída Pilot:• float getAngle()

– vrátí hodnotu úhlu ve stupních, kterou robot urazil.• float getTravelDistance()

– vrátí vzdálenost, kterou robot urazil• void travel(float distance)

– Robot pojede, dokud neurazí vzdálenost rovnou distance

Page 9: Krátký návod pro prostředí LeJOS-NXJ

Dotykový senzorDotykový senzor• Konstruktor

– TouchSensor(ADSensorPort port)

• boolean isPressed()– Metoda zkontroluje jestli

nastal dotyk.

Příklad:/*Dokud nesepne dotykový senzor, tak motory na pozicích A a C budou v chodu*/// Senzor je na vstupu číslo 1TouchSensor sensor = new TouchSensor (SensorPort.S1);while(sensor.isPressed() == false){Motor.A.forward();Motor.C.forward();}

Page 10: Krátký návod pro prostředí LeJOS-NXJ

Světelný senzorSvětelný senzor• Konstruktor

– LightSensor(ADSensorPort port, boolean floodlight)

• int readValue()– Metoda vrátí hodnotu jasu v

procentech podle kalibrace.• void setHigh(int high)

– Nakalibruje horní hranici senzoru• void setLow(int low)

– Nakalibruje spodní hranici senzoruPříklad:LightSensor sensor = new LightSensor(SensorPort.S1, false);sensor.setHigh(600);sensor.setLow(300);int value = sensor.readValue();

Page 11: Krátký návod pro prostředí LeJOS-NXJ

Ultrazvukový senzorUltrazvukový senzor• Konstruktor

– UltrasonicSensor(I2CPort port)

• float getRange()– vrátí vzdálenost v centimetrech k

nejbližšímu objektu. Funguje spolehlivě v rozsahu přibližně 5cm až 190cm.

Příklad:/*Dokud se nestikne ESCAPE, tak se bude vypisovat vzdalenost k nejblizsimu objektu*/

UltrasonicSensor sensor = new UltrasonicSensor(SensortPort.S1);while(Button.ESCAPE.isPressed() == false){

LCD.drawString(““+sensor.getRange(), 0, 0);}

Page 12: Krátký návod pro prostředí LeJOS-NXJ

ZZvukový senzorvukový senzor• Konstruktor

– SoundSensor(ADSensorPort port)

• int readValue()– Vrátí hodnotu naměřenou

senzorem v dB.

Příklad://Měřič hluku

SoundSensor sensor = new SoundSensor(SensorPort.S1);while(Button.ESCAPE.isPressed() == false){

LCD.drawString(““+sensor.readValue(), 0, 0);}