1 / 13

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

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.

dewitt
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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 Nevýhody LeJOS-NXJ • Komplikovaná instalace • Nutnost základní znalosti programování

  4. Zá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);

  5. Základní metody II Tří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();

  6. Interface 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);

  7. Pokročilé metody I Tří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 ESCAPE Pilot pilot = new TachoPilot(56f, 110f, Motor.A, Motor.C); while (Button.ESCAPE.isPressed() == false){ pilot.steer(100);}

  8. Pokročilé metody II Tří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

  9. Dotykový 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 1 TouchSensor sensor = new TouchSensor (SensorPort.S1); while(sensor.isPressed() == false){ Motor.A.forward(); Motor.C.forward();}

  10. Svě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 senzoru Příklad: LightSensor sensor = new LightSensor(SensorPort.S1, false); sensor.setHigh(600); sensor.setLow(300); int value = sensor.readValue();

  11. Ultrazvukový 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); }

  12. Zvukový 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); }

  13. Zdroje • http://lejos.sourceforge.net/ • http://mindstorms.lego.com/en-us/default.aspx • http://www.nxtprograms.com/

More Related