led selon distance
This commit is contained in:
@@ -21,6 +21,7 @@ import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine;
|
|||||||
import frc.robot.commands.Aspirer;
|
import frc.robot.commands.Aspirer;
|
||||||
import frc.robot.commands.DescendreBalyeuse;
|
import frc.robot.commands.DescendreBalyeuse;
|
||||||
import frc.robot.commands.DescendreGrimpeur;
|
import frc.robot.commands.DescendreGrimpeur;
|
||||||
|
import frc.robot.commands.DistanceLancer;
|
||||||
import frc.robot.commands.Lancer;
|
import frc.robot.commands.Lancer;
|
||||||
import frc.robot.commands.LancerAspirer;
|
import frc.robot.commands.LancerAspirer;
|
||||||
import frc.robot.commands.LancerBaseVitesse;
|
import frc.robot.commands.LancerBaseVitesse;
|
||||||
@@ -94,6 +95,7 @@ public class RobotContainer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void configureBindings() {
|
private void configureBindings() {
|
||||||
|
led.setDefaultCommand(new DistanceLancer(limeLight3G, led));
|
||||||
drivetrain.setDefaultCommand(
|
drivetrain.setDefaultCommand(
|
||||||
drivetrain.applyRequest(() ->
|
drivetrain.applyRequest(() ->
|
||||||
drive.withVelocityY(MathUtil.applyDeadband(-manette.getLeftX()*Math.abs(-manette.getLeftX())*MaxSpeed, 0.05))
|
drive.withVelocityY(MathUtil.applyDeadband(-manette.getLeftX()*Math.abs(-manette.getLeftX())*MaxSpeed, 0.05))
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ import frc.robot.subsystems.Led;
|
|||||||
import frc.robot.subsystems.Limelight3G;
|
import frc.robot.subsystems.Limelight3G;
|
||||||
|
|
||||||
/* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */
|
/* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */
|
||||||
public class DitanceLancer extends Command {
|
public class DistanceLancer extends Command {
|
||||||
private Led led;
|
private Led led;
|
||||||
private Limelight3G limelight3g;
|
private Limelight3G limelight3g;
|
||||||
/** Creates a new DitanceLancer. */
|
/** Creates a new DitanceLancer. */
|
||||||
public DitanceLancer(Limelight3G limelight3g, Led led) {
|
public DistanceLancer(Limelight3G limelight3g, Led led) {
|
||||||
this.led = led;
|
this.led = led;
|
||||||
this.limelight3g = limelight3g;
|
this.limelight3g = limelight3g;
|
||||||
addRequirements(led,limelight3g);
|
addRequirements(led,limelight3g);
|
||||||
@@ -27,12 +27,31 @@ public class DitanceLancer extends Command {
|
|||||||
// Called every time the scheduler runs while the command is scheduled.
|
// Called every time the scheduler runs while the command is scheduled.
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
|
double botx = 0;
|
||||||
|
double boty = 0;
|
||||||
|
double[] BotPose = new double[6];
|
||||||
|
double distance = 0;
|
||||||
|
if(limelight3g.getV()){
|
||||||
|
BotPose = limelight3g.getBotPoseBlue();
|
||||||
|
botx = BotPose[0];
|
||||||
|
boty = BotPose[1];
|
||||||
|
}
|
||||||
|
if(limelight3g.getV()){
|
||||||
|
distance = Math.sqrt(Math.pow(Math.abs(4.625594-botx), 2) + Math.pow(Math.abs(4.034536-boty), 2));
|
||||||
|
}
|
||||||
|
if(distance > 1.7){
|
||||||
|
led.Jaune2();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Called once the command ends or is interrupted.
|
// Called once the command ends or is interrupted.
|
||||||
@Override
|
@Override
|
||||||
public void end(boolean interrupted) {}
|
public void end(boolean interrupted) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Returns true when the command should end.
|
// Returns true when the command should end.
|
||||||
@Override
|
@Override
|
||||||
@@ -68,16 +68,16 @@ public class Led extends SubsystemBase {
|
|||||||
CANDle.setLEDs(255, 255, 0,0,120,8);
|
CANDle.setLEDs(255, 255, 0,0,120,8);
|
||||||
CANDle.setLEDs(255, 255, 0,0,136,8);
|
CANDle.setLEDs(255, 255, 0,0,136,8);
|
||||||
}
|
}
|
||||||
public void Vert2(){
|
public void Rouge2(){
|
||||||
CANDle.setLEDs(0, 255, 0,0,8,8);
|
CANDle.setLEDs(255, 0, 0,0,8,8);
|
||||||
CANDle.setLEDs(0, 255, 0,0,24,8);
|
CANDle.setLEDs(255, 0, 0,0,24,8);
|
||||||
CANDle.setLEDs(0, 255, 0,0,40,8);
|
CANDle.setLEDs(255, 0, 0,0,40,8);
|
||||||
CANDle.setLEDs(0, 255, 0,0,56,8);
|
CANDle.setLEDs(255, 0, 0,0,56,8);
|
||||||
CANDle.setLEDs(0, 255, 0,0,72,8);
|
CANDle.setLEDs(255, 0, 0,0,72,8);
|
||||||
CANDle.setLEDs(0, 255, 0,0,88,8);
|
CANDle.setLEDs(255, 0, 0,0,88,8);
|
||||||
CANDle.setLEDs(0, 255, 0,0,104,8);
|
CANDle.setLEDs(255, 0, 0,0,104,8);
|
||||||
CANDle.setLEDs(0, 255, 0,0,120,8);
|
CANDle.setLEDs(255, 0, 0,0,120,8);
|
||||||
CANDle.setLEDs(0, 255, 0,0,136,8);
|
CANDle.setLEDs(255, 0, 0,0,136,8);
|
||||||
}
|
}
|
||||||
public void RainBow(){
|
public void RainBow(){
|
||||||
CANDle.animate(rainbowAnim);
|
CANDle.animate(rainbowAnim);
|
||||||
|
|||||||
Reference in New Issue
Block a user