Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
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
NXT-G NXC LeJOS NXJ Jazyk Grafický NotExactly C JAVA Platforma Win., Mac Win., Linux, Mac IDE Ano Plugin do Eclipse a Netbeans Podpora float Ne Obsluha událostí
3
Výhody LeJOS-NXJ Nevý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() void setSpeed(int speed)
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() Třída LCD:
Č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 = 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 boolean isPressed()
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 int readValue() void setHigh(int high)
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 float getRange()
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 int readValue()
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/
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.