[LeJOS] Contrôlons le moteur EV3 avec Java

introduction

Cet article suppose que vous disposez d'un environnement de développement leJOS. Veuillez consulter cet article pour plus de détails.

[LeJOS] Programmons mindstorm-EV3 avec Java [Construction de l'environnement première partie]

[LeJOS] Programmons mindstorm-EV3 avec Java [Construction de l'environnement partie 2]

Aperçu

Présentation d'une partie de l'API qui contrôle le moteur EV3 avec leJOS. Le contrôle de base du moteur peut être obtenu en supprimant uniquement les méthodes introduites. De plus, j'aimerais vous montrer comment utiliser l'API avec un simple exemple de programme.

API Connectons le moteur L au port A de l'unité principale EV3. (Moteur L)

Classe EV3LargeRegulatedMotor

La classe de grand moteur régulé EV3 peut être utilisée pour contrôler le moteur L.

RegulatedMotor m = new EV3LargeRegulatedMotor(MotorPort.A);

Méthode

Je vais vous présenter les méthodes qui sont principalement utilisées. addListener

public void addListener(RegulatedMotorListener listener)

Vous pouvez enregistrer des événements pour démarrer et arrêter la rotation du moteur. removeListener

public void removeListener()

Supprimez l'événement.

forward

public void forward();

Faites tourner le moteur vers l'avant. Ne s'arrête pas jusqu'à ce que l'arrêt soit appelé.

backward

public void backward()

Faites tourner le moteur dans le sens inverse. Ne s'arrête pas jusqu'à ce que l'arrêt soit appelé.

stop

public void stop()

Arrêtez le moteur.

rotate

public void rotate(int angle)

Pivote par rapport à la position actuelle de l'angle spécifié dans l'argument.

rotateTo

public void rotateTo(int limitAngle)

Pivote à l'angle absolu spécifié dans l'argument.

close

public void close()

Ferme l'accès au moteur et libère des ressources.

flt

public void flt()

Réglez le moteur en mode flottant. La position du moteur n'est pas maintenue car le moteur s'arrête sans freinage.

getSpeed

public int getSpeed()

Renvoie la vitesse de rotation actuelle. getRotationSpeed

public int getRotationSpeed()

Renvoie l'accélération actuelle. getAcceleration

public int getAcceleration()

Renvoie la vitesse angulaire actuelle (degrés / s / s).

getPosition

public float getPosition()

Renvoie l'angle de la position actuelle du moteur.

getLimitAngle

public int getLimitAngle()

Renvoie l'angle de position maximal auquel le moteur tourne. getMaxSpeed

public float getMaxSpeed()

Renvoie la vitesse de rotation maximale qui peut être définie pour le moteur.

isMoving

public boolean isMoving()

Renvoie vrai si le moteur tourne.

isStalled

public boolean isStalled()

Renvoie vrai si le moteur est arrêté. lock

public void lock(int power)

Le moteur essaiera de maintenir la position à moins qu'il ne soit réglé en mode flottant en utilisant la méthode flt. Réglez la force de la force contenue dans l'argument entre 1 et 100.

setSpeed

public void setSpeed(int speed)

Règle la vitesse de rotation du moteur. setAcceleration

public void setAcceleration(int acceleration)

Définit la vitesse angulaire du moteur passée dans l'argument. La valeur par défaut est (6000 degrés / s / s).

Moteur M

La classe de moteur à régulation moyenne EV3 est utilisée pour contrôler le moteur M. Les méthodes qui peuvent être utilisées sont fondamentalement les mêmes que la classe EV3LargeRegulatedMotor, donc les explications sont omises. (Moteur M)

Exemple de programme

Il s'agit d'un exemple de programme simple qui déplace simplement le moteur en modifiant la vitesse de rotation.

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);
	}

}

Cliquez pour lire la vidéo YouTube

référence

Seules certaines API ont été introduites. Si vous souhaitez obtenir des informations plus détaillées, veuillez vous référer au document officiel.

https://sourceforge.net/p/lejos/wiki/Motors/

http://www.lejos.org/ev3/docs/

Recommended Posts

[LeJOS] Contrôlons le moteur EV3 avec Java
[LeJOS] Contrôlons à distance le moteur EV3 avec Java
[ev3 × Java] Commande de moteur unique
Raclons avec Java! !!
[LeJOS] Obtenez la valeur du capteur EV3 à distance avec Java
Expérimentons l'expansion en ligne Java
Exploitons Excel avec Java! !!
Gestion des versions Java avec SDKMAN
Gestion des versions Java avec jenv
Créer un contrôleur radio Ev3 avec JavaFx et leJOS [Partie 2]
Créer un contrôleur radio Ev3 avec JavaFx et leJOS [Partie 1]
[ev3 × Java] Affichage, son, contrôle LED
Suivez le lien avec Selenium (Java)
Traitement d'image: jouons avec l'image
Revenir au début, démarrer avec Java ② Instructions de contrôle, instructions de boucle
Récapitulons maintenant l'expression lambda Java
Exprimons le résultat de l'analyse du code d'octet Java dans un diagramme de classes
Essayons WebSocket avec Java et javascript!
Gestion des versions de java avec jenv d'OSX
Essayez d'utiliser la télécommande Wii en Java
[Java] Obtenez la date avec la classe LocalDateTime
Faisons une application de calculatrice avec Java ~ Créez une zone d'affichage dans la fenêtre
Créons un processus chronométré avec la minuterie de Java! !!
Mémo organisé dans la tête (syntaxe Java --Control)
[Java] Réglez l'heure depuis le navigateur avec jsoup
Comprendre le framework MVC avec Java 1/4 View côté serveur
Comprendre le framework MVC avec le contrôleur Java 3/4 côté serveur
Calculer le score de similarité des chaînes de caractères avec JAVA
Java commençant par JShell-Un aperçu du monde Java
Comprendre le framework MVC avec le modèle Java 2/4 côté serveur
Communiquons sans bloquer avec Bluetooth du leJOS ev3
Syntaxe de contrôle Java
Syntaxe de contrôle Java
Étudions Java
[LeJOS] Programmons mindstorm-EV3 avec Java [Construction de l'environnement partie 2]
Tracez le SQL exécuté avec l'agent java Application Insights
CI l'architecture des applications Java / Kotlin avec ArchUnit
[Bases de Java] Créons un triangle avec une instruction for
Surveillez l'état interne des programmes Java avec Kubernetes
Vérifiez le comportement de Java Intrinsic Locks avec bpftrace
Apprentissage rapide Java "Introduction?" Partie 2 Écrivons le processus
[Java] Obtenez la date 10 jours plus tard avec la classe Calendar
Connexion HTTPS avec Java au serveur de certificats auto-signé
Préparer l'environnement pour java11 et javaFx avec Ubuntu 18.4
Contrôlez le flux de traitement Spring Batch avec JavaConfig.
L'histoire de la création de DTO, semblable à Dao avec Java, SQLite
Bureau Java avec le même frontal que le WEB.
Remplacez seulement une partie de l'hôte URL par java
Commencez avec Java sans serveur avec le framework léger Micronaut!