Victor SPX Talon SRX SparkMAX
一般馬達普遍使用Victor SPX
NEO使用SparkMAX
Falcon 500內建Talon FX與Talon SRX寫法幾乎相同
//Port填入馬達腳位
private VictorSPX MotorController = new VictorSPX(Port);//恢復出廠設定
MotorController.configFactoryDefault();
//設定加速時間(從靜止到最高速)(單位:s)
MotorController.configOpenloopRamp(kMotorRampRate);
//設定馬達停止模式(Brake/Coast)(煞車/滑行)
MotorController.setNeutralMode(NeutralMode.Brake);
//設定反轉值(旋轉方向是否反轉)(Reversed填入true/false)
MotorController.setInverted(Reversed); //Speed填入百分比輸出(0~1)(ControlMode還有很多模式以後再教)
MotorController.set(ControlMode.PercentOutput, Speed);//Port填入馬達腳位
//TalonFX
private TalonFX MotorController = new TalonFX(Port);
//TalonSRX
private TalonSRX MotorController = new TalonSRX(Port)//恢復出廠設定
MotorController.configFactoryDefault();
//設定加速時間(從靜止到最高速)(單位:s)
MotorController.configOpenloopRamp(kMotorRampRate);
//設定馬達停止模式(Brake/Coast)(煞車/滑行)
MotorController.setNeutralMode(NeutralMode.Brake);
//設定反轉值(旋轉方向是否反轉)(Reversed填入true/false)
MotorController.setInverted(Reversed); //Speed填入百分比輸出(0~1)(ControlMode還有很多模式以後再教)
MotorController.set(ControlMode.PercentOutput, Speed);//Port填入馬達腳位 因為NEO是無刷馬達 所以MotorType選kBrushless
private CANSparkMax MotorController = new CANSparkMax(PortID, MotorType.kBrushless);//恢復出廠設定
MotorController.restoreFactoryDefaults();
//設定加速時間(從靜止到最高速)(單位:s)
MotorController.setOpenLoopRampRate(kMotorRampRate);
//設定馬達停止模式(kBrake/kCoast)(煞車/滑行)
MotorController.setIdleMode(IdleMode.kBrake);
//設定反轉值(旋轉方向是否反轉)(Reversed填入true/false)
MotorController.setInverted(Reversed); //Speed填入百分比輸出(0~1)
MotorController.set(Speed);package frc.robot.subsystems;
import edu.wpi.first.wpilibj2.command.SubsystemBase;
public class VictorSpxSubsystem extends SubsystemBase{
public VictorSpxSubsystem(){
}
public void setSpeed(double speed) {
}
}package frc.robot.subsystems;
import com.ctre.phoenix.motorcontrol.ControlMode;
import com.ctre.phoenix.motorcontrol.NeutralMode;
import com.ctre.phoenix.motorcontrol.can.VictorSPX;
import edu.wpi.first.wpilibj2.command.SubsystemBase;
import frc.robot.Constants.PortID;
public class VictorSpxSubsystem extends SubsystemBase{
//Port填入馬達腳位
private VictorSPX MotorController = new VictorSPX(PortID.VictorSpx.value);
public VictorSpxSubsystem(){
//恢復出廠設定
MotorController.configFactoryDefault();
//設定加速時間(從靜止到最高速)(單位:s)
MotorController.configOpenloopRamp(0.5);
//設定馬達停止模式(Brake/Coast)(煞車/滑行)
MotorController.setNeutralMode(NeutralMode.Brake);
//設定反轉值(旋轉方向是否反轉)(Reversed填入true/false)
MotorController.setInverted(PortID.VictorSpx.reversed);
}
public void setSpeed(double speed) {
//Speed填入百分比輸出(0~1)(ControlMode還有很多模式以後再教)
MotorController.set(ControlMode.PercentOutput, speed);
}
}
4個子系統(作業1 作業名:子系統)、Constants.java(作業2 作業名:Constants.java)、vendordeps(作業3 作業名:vendordeps)
上傳google表單(四個子系統一起上傳在同一份作業、vendordeps內的所有函示庫也是)