Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

LEGO NXT Roboter in Java programmieren

Ähnliche Präsentationen


Präsentation zum Thema: "LEGO NXT Roboter in Java programmieren"—  Präsentation transkript:

1 LEGO NXT Roboter in Java programmieren

2 Programmgerüst public class NxtDemo {
public static void main(String[] args) { // hier steht das eigentliche Programm }

3 Die wichtigsten Klassen- bibliotheken
import lejos.nxt.*; import lejos.util.*;

4 Programmgerüst mit Motoren und Sensoren
import lejos.nxt.*; import lejos.util.*;  public class NxtDemo { static Motor motorA  new Motor(MotorPort.A); // weitere Motoren… static TouchSensor ts  new TouchSensor(SensorPort.S1); // weitere Sensoren… public static void main(String[] args) { // hier steht das eigentliche Programm }

5 Verwendung von Motoren
new Motor(MotorPort port) Konstruktor. port kann einen der drei Werte MotorPort.A, MotorPort.B und MotorPort.C annehmen. backward() Rückwärtsdrehung starten. Voreingestellt ist eine Geschwindigkeit von einer Radumdrehung pro Sekunde. flt() Stromzufuhr abstellen, Motor ausrollen lassen forward() Vorwärtsdrehung starten. Voreingestellt ist eine Geschwindigkeit von einer Radumdrehung pro Sekunde. boolean isMoving() gibt true zurück, falls der Motor dreht, andernfalls false rotate(int angle, boolean immediateReturn) Motor um den Winkel angle (in °) drehen (falls angle < 0: Rückwärtsdrehung). Falls immediateReturn  true, wird der nächste Programmbefehl sofort nach Start der Drehung ausgeführt, andernfalls erst am Schluss der Drehung. setSpeed(int speed) Geschwindigkeit des Motors festlegen (ohne den Motor damit zu starten). speed kann je nach Akkustand zwischen 0 und ca. 720 liegen und gibt die Geschwindigkeit in Grad pro Sekunde an. Voreingestellt sind 360°/s. stop() Vollbremsung durchführen

6 Verwendung von Sensoren
Lichtsensor new LightSensor(SensorPort s) Konstruktor. s kann einen der vier Werte SensorPort.S1 bis SensorPort.S4 annehmen. setFloodlight(boolean fl) Falls fl  true, Lampe am Lichtsensor einschalten, andernfalls ausschalten int readNormalizedValue() gibt den Helligkeitswert des Lichtsensors (im Bereich von 0 bis 1023) zurück int readValue() gibt den Helligkeitswert des Lichtsensors in Prozent (0 bis 100) zurück Berührungssensor new TouchSensor(SensorPort s) boolean isPressed() gibt true zurück, falls der Sensor gedrückt wird, andernfalls false Ultraschallsensor new UltrasonicSensor( SensorPort s) int getDistance() gibt die Entfernung des nächstgelegenen, vom Ultraschallsensor erfassten Objekts in cm zurück. Falls kein Objekt erfasst wurde, ist der Rückgabewert 255.

7 LCD-Display und Buttons
Klasse LCD LCD.clearDisplay() Bildschirminhalt löschen LCD.drawInt(int i, int places, int x, int y) Schreibe die Zahl i, beginnend in Spalte x und Zeile y (die Zählung der Zeilen und Spalten beginnt mit 0!). Falls die Zahl weniger als places Stellen hat, füge vor der Zahl so viele Leerzeichen ein, dass sie insgesamt places Zeichen Platz einnimmt. LCD.drawString(String s, int x, int y) Schreibe den String s, beginnend in Spalte x und Zeile y (die Zählung der Zeilen und Spalten beginnt mit 0!). Der String kann die Sequenz \n enthalten, welche einen Zeilenumbruch bewirkt. LCD.scroll() Scrolle den gesamten Text eine Zeile nach oben. Klasse Button Button.LEFT, Button.ENTER, Button.RIGHT und Button.ESCAPE boolean isPressed() gibt true zurück, falls der Button gedrückt wird, andernfalls false. Benutzungsbeispiel: if(Button.ESCAPE.isPressed()) { NXT.shutdown(); // siehe unten }

8 Weitere nützliche Klassen
Klasse Delay Delay.msDelay(int ms) Programm für ms Millisekunden anhalten (1 ms  10-3 s) Delay.usDelay(int us) Programm für us Mikrosekunden anhalten (1 s  10-6 s) Delay.nsDelay(int ns) Programm für ns Nanosekunden anhalten (1 ns  10-9 s) Klasse NXT NXT.exit(int code) Programm beenden. Für code wird im Normalfall 0 eingesetzt. NXT.shutdown() NXT ausschalten Klasse Sound Sound.beep() einmal piepsen Sound.beepSequence() absteigende Sequenz von zwei Piepstönen spielen Sound.beepSequenceUp() aufsteigende Sequenz von zwei Piepstönen spielen Sound.buzz() tiefen Summton abspielen Sound.setVolume(int vol) Lautstärke auf den Wert vol (0 – 100) setzen. Sound.playTone(int freq, int duration) Ton mit der Frequenz freq (in Hz) und der Länge duration (in ms) spielen Alle Methoden dieser Klassen sind statisch!

9 NXT Notabschaltung gleichzeitig drücken


Herunterladen ppt "LEGO NXT Roboter in Java programmieren"

Ähnliche Präsentationen


Google-Anzeigen