In diesem Artikel wird davon ausgegangen, dass eine leJOS-Entwicklungsumgebung vorhanden ist. Weitere Informationen finden Sie in diesem Artikel.
[LeJOS] Programmieren wir mindstorm-EV3 mit Java [Umgebungskonstruktion erster Teil]
[LeJOS] Programmieren wir mindstorm-EV3 mit Java [Umgebungskonstruktion Teil 2]
Einführung eines Teils der API, der den EV3-Motor mit leJOS steuert. Eine grundlegende Motorsteuerung kann erreicht werden, indem nur die eingeführten Methoden unterdrückt werden. Außerdem möchte ich Ihnen zeigen, wie Sie die API mit einem einfachen Beispielprogramm verwenden.
API Verbinden wir den L-Motor mit Port A des EV3-Hauptgeräts. (L Motor)
Die Klasse EV3 Large Regulated Motor kann zur Steuerung des L-Motors verwendet werden.
RegulatedMotor m = new EV3LargeRegulatedMotor(MotorPort.A);
Ich werde die Methoden vorstellen, die hauptsächlich verwendet werden. addListener
public void addListener(RegulatedMotorListener listener)
Sie können Ereignisse zum Starten und Stoppen der Motordrehung registrieren. removeListener
public void removeListener()
Löschen Sie das Ereignis.
forward
public void forward();
Den Motor nach vorne drehen. Stoppt nicht, bis stop aufgerufen wird.
backward
public void backward()
Drehen Sie den Motor in die umgekehrte Richtung. Stoppt nicht, bis stop aufgerufen wird.
stop
public void stop()
Stoppen Sie den Motor.
rotate
public void rotate(int angle)
Dreht sich relativ zur aktuellen Position um den im Argument angegebenen Winkel.
rotateTo
public void rotateTo(int limitAngle)
Dreht sich um den im Argument angegebenen absoluten Winkel.
close
public void close()
Enger Zugang zum Motor und freie Ressourcen.
flt
public void flt()
Stellen Sie den Motor in den Float-Modus. Die Position des Motors wird nicht beibehalten, da der Motor ohne Bremsen stoppt.
getSpeed
public int getSpeed()
Gibt die aktuelle Drehzahl zurück. getRotationSpeed
public int getRotationSpeed()
Gibt die aktuelle Beschleunigung zurück. getAcceleration
public int getAcceleration()
Gibt die aktuelle Winkelgeschwindigkeit (Grad / s / s) zurück.
getPosition
public float getPosition()
Gibt den Winkel der aktuellen Position des Motors zurück.
getLimitAngle
public int getLimitAngle()
Gibt den maximalen Positionswinkel zurück, unter dem sich der Motor dreht. getMaxSpeed
public float getMaxSpeed()
Gibt die maximale Drehzahl zurück, die für den Motor eingestellt werden kann.
isMoving
public boolean isMoving()
Gibt true zurück, wenn sich der Motor dreht.
isStalled
public boolean isStalled()
Gibt true zurück, wenn der Motor gestoppt ist. lock
public void lock(int power)
Der Motor versucht, die Position zu halten, es sei denn, er ist mit der flt-Methode auf den Float-Modus eingestellt. Stellen Sie die Stärke der im Argument enthaltenen Kraft zwischen 1 und 100 ein.
setSpeed
public void setSpeed(int speed)
Stellt die Drehzahl des Motors ein. setAcceleration
public void setAcceleration(int acceleration)
Legt die Winkelgeschwindigkeit des im Argument übergebenen Motors fest. Der Standardwert ist (6000 Grad / s / s).
Die Klasse EV3 Medium Regulated Motor wird zur Steuerung des M-Motors verwendet. Die Methoden, die verwendet werden können, sind im Grunde die gleichen wie die EV3LargeRegulatedMotor-Klasse, daher werden Erklärungen weggelassen. (M Motor)
Es ist ein einfaches Beispielprogramm, das den Motor nur durch Ändern der Drehzahl bewegt.
Ev3MotorSample.java
import lejos.hardware.motor.EV3LargeRegulatedMotor;
import lejos.hardware.port.MotorPort;
import lejos.robotics.RegulatedMotor;
import lejos.utility.Delay;
public class Ev3MotorSample {
public static void main(String[] args) {
RegulatedMotor m = new EV3LargeRegulatedMotor(MotorPort.A);
m.forward();
Delay.msDelay(2000);
m.stop();
m.backward();
Delay.msDelay(2000);
m.stop();
m.setSpeed((int) m.getMaxSpeed());
m.forward();
Delay.msDelay(2000);
m.stop();
m.backward();
Delay.msDelay(2000);
m.stop();
m.setAcceleration(3000);
m.rotate(720);
m.setAcceleration(6000);
m.rotate(-720);
}
}
Klicken Sie hier, um das Video abzuspielen
Nur einige der APIs wurden eingeführt. Wenn Sie detailliertere Informationen wünschen, lesen Sie bitte das offizielle Dokument.
https://sourceforge.net/p/lejos/wiki/Motors/
http://www.lejos.org/ev3/docs/
Recommended Posts