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]
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)
La classe de grand moteur régulé EV3 peut être utilisée pour contrôler le moteur L.
RegulatedMotor m = new EV3LargeRegulatedMotor(MotorPort.A);
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).
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)
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);
}
}
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