Skip to main content

moteur

intro:

Quand on utilise un moteur ce qu'on code est un controleur de moteur. On en utilise 4 différent en robotique: CANspark max, CANspark flex, Talon SRX, Talon FX. 

CANspark max= moteur NEO

CANspark flex = moteur vortex

Talon FX = moteur Kraken

Talon SRX = autre moteur comme 775 pro ou SIM

pour créer l'objet du moteur:

les 2 spark ce resemble beaucoup. 

exemple:

final SparkFlex lance = new SparkFlex(17 , MotorType.kBrushless);
final SparkMax accumulateur = new SparkMax(18, MotorType.kBrushless);

final signifie qu'on ne peut modifer cette ligne a d'autre endroit dans le code

SparkFlex ou SparkMax le controleur a utiliser

lance est le nom du moteur c'est toi qui décide du nom

new SparkFlex signifie que tu veux en créer un nouveau 

le 17 est l'ID c'est le nombre qui identifie ton moteur

MotorType.kBrushless ou MotorType.kBrush signifie que le moteur est soit avec ou sans broche. Les moteur a la robotique sont tous brusless

les 2 Talon ce resemble beaucoup.

exemple:

final WPI_TalonSRX pince = new WPI_TalonSRX(2);

WPI_TalonSRX ou WPI_TalonFX le controleur a utiliser

pince est le nom du moteur

new WPI_TalonSRX signifie que tu veux en créer un nouveau 

le 2 est l'ID

ensuite pour dire quel utiliter donner au moteur on créé une fonction.

 exemple:

 public void lance(double vitesse){
    Lanceur.set(vitesse);
  }

public signifie qu'il peut être utlisé partout dans le code

void signifie que tu retourne aucune valeur

le void pourait être renplacer par:

double= renvoit un chiffre a vergule, int= renvoit un chiffre plein, boolean renvoit soit true ou false pour des objet a seulement 2 état par exemple,Srting= renvoit un message.

lance est le nom de la fonction elle sera utilisé dans les command(voir le chapitre sur les Commande)

double vitesse est une variable qui pourra être modifier dans une commande

lanceur est  le nom du moteur utiliser dans la fonction

set est ce que le moteur fait dans la fonction. Set mets la vitesse a la valeur mis dans les parentèse en %

un fonction peux servir pour différente chose mais on l'utilise principalement pour: défénir la vitesse d'un moteur( comme l'exemple), prendre la valeur d'un encodeur(voir juste en bas, ou défémir la position d'un encodeur(voir plus loin).

 public double encodeur(){
  return rotatione.getEncoder().getPosition();
  }

public, double,encodeur et sont des mot qui on été défini plus haut  

return signifie que ce qu'il y a après c'est ce que tu retourne comme valeur

rotatione.getEncoder().getPosition() est que tu prend la position de l'encodeur du moteur rotatione

pour définir la position d'un encodeur pour par exemple reset l'encodeur

  public void reset(){
    monte.getEncoder().setPosition(0);
  }

a la place de rotatione.getEncoder().getPosition() on met monte.getEncoder().setPosition() et le 0 est la valeur de l'encodeur qu'on définit