[LeJOS] Lassen Sie uns den EV3-Motor mit Java steuern

Einführung

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]

Überblick

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)

EV3LargeRegulatedMotor Klasse

Die Klasse EV3 Large Regulated Motor kann zur Steuerung des L-Motors verwendet werden.

RegulatedMotor m = new EV3LargeRegulatedMotor(MotorPort.A);

Methode

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).

M Motor

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)

Beispielprogramm

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 YouTube

Referenz

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

[LeJOS] Lassen Sie uns den EV3-Motor mit Java steuern
[LeJOS] Lassen Sie uns den EV3-Motor mit Java fernsteuern
[ev3 × Java] Einzelmotorsteuerung
Lass uns mit Java kratzen! !!
[LeJOS] EV3-Sensorwert per Fernzugriff mit Java abrufen
Experimentieren wir mit der Java-Inline-Erweiterung
Lassen Sie uns Excel mit Java betreiben! !!
Java-Versionsverwaltung mit SDKMAN
Java-Versionsverwaltung mit jenv
Erstellen eines Ev3-Funkcontrollers mit JavaFx und leJOS [Teil 2]
Erstellen eines Ev3-Funkcontrollers mit JavaFx und leJOS [Teil 1]
[ev3 × Java] Anzeige, Ton, LED-Steuerung
Folgen Sie dem Link mit Selen (Java)
Bildverarbeitung: Spielen wir mit dem Bild
Zurück zum Anfang, Erste Schritte mit Java ② Steueranweisungen, Schleifenanweisungen
Lassen Sie uns nun den Java-Lambda-Ausdruck rekapitulieren
Lassen Sie uns das Ergebnis der Analyse von Java-Bytecode in einem Klassendiagramm ausdrücken
Probieren wir WebSocket mit Java und Javascript aus!
Versionsverwaltung von Java mit jenv von OSX
Versuchen Sie es mit der Wii-Fernbedienung in Java
[Java] Ermitteln Sie das Datum mit der LocalDateTime-Klasse
Erstellen wir eine Taschenrechner-App mit Java ~ Erstellen Sie einen Anzeigebereich im Fenster
Lassen Sie uns mit Javas Timer einen zeitgesteuerten Prozess erstellen! !!
Organisiertes Memo im Kopf (Java - Control Syntax)
[Java] Stellen Sie die Zeit im Browser mit jsoup ein
Grundlegendes zum MVC-Framework mit serverseitiger Java 1/4 View
Grundlegendes zum MVC-Framework mit serverseitigem Java 3/4 Controller
Berechnen Sie die Ähnlichkeitsbewertung von Zeichenketten mit JAVA
Java beginnend mit JShell-A Einblick in die Java-Welt
Grundlegendes zum MVC-Framework mit dem serverseitigen Java 2/4 -Modell
Lassen Sie uns mit Bluetooth von leJOS ev3 kommunizieren, ohne zu blockieren
Java-Steuerungssyntax
Java-Steuerungssyntax
Lassen Sie uns Java studieren
[LeJOS] Programmieren wir mindstorm-EV3 mit Java [Umgebungskonstruktion Teil 2]
Verfolgen Sie die mit dem Java-Agenten Insights der Anwendung ausgeführte SQL
CI die Architektur von Java / Kotlin-Anwendungen mit ArchUnit
[Java-Grundlagen] Lassen Sie uns ein Dreieck mit einer for-Anweisung erstellen
Überwachen Sie den internen Status von Java-Programmen mit Kubernetes
Überprüfen Sie das Verhalten von Java Intrinsic Locks mit bpftrace
Schnelles Lernen von Java "Einführung?" Teil 2 Schreiben wir den Prozess
[Java] Holen Sie sich das Datum 10 Tage später mit der Calendar-Klasse
HTTPS-Verbindung mit Java zum selbstsignierten Zertifikatsserver
Bereiten Sie die Umgebung für Java11 und JavaFx mit Ubuntu 18.4 vor
Steuern Sie den Spring Batch-Verarbeitungsablauf mit JavaConfig.
Die Geschichte von dto, dao-like mit Java, SQLite
Java-Desktop mit demselben Frontend wie das WEB.
Ersetzen Sie nur einen Teil des URL-Hosts durch Java
Beginnen Sie mit serverlosem Java mit dem leichtgewichtigen Framework Micronaut!