Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.Autonomous; import com.qualcomm.robotcore.eventloop.opmode.OpMode; import com.qualcomm.robotcore.eventloop.opmode.TeleOp; import com.qualcomm.robotcore.hardware.DcMotor; import com.qualcomm.robotcore.hardware.DcMotorSimple; import com.qualcomm.robotcore.util.ElapsedTime;

@TeleOp(name = "DecodeRobotTeleOp", group = "TeleOp") public class DecodeRobotTeleOp extends OpMode {

// Drive motors
private DcMotor leftDrive;
private DcMotor rightDrive;
// Intake motor (rotating ground intake)
private DcMotor intakeMotor;
// Flywheel motors (2x 6000 rpm motors)
private DcMotor flywheelLeft;
private DcMotor flywheelRight;
@Override
public void init() {
leftDrive = hardwareMap.get(DcMotor.class, "left_drive");
rightDrive = hardwareMap.get(DcMotor.class, "right_drive");
intakeMotor = hardwareMap.get(DcMotor.class, "intake_motor");
flywheelLeft = hardwareMap.get(DcMotor.class, "flywheel_left");
flywheelRight = hardwareMap.get(DcMotor.class, "flywheel_right");
// Set directions
leftDrive.setDirection(DcMotor.Direction.FORWARD);
rightDrive.setDirection(DcMotor.Direction.REVERSE); // Usually reversed
intakeMotor.setDirection(DcMotor.Direction.FORWARD);
flywheelLeft.setDirection(DcMotor.Direction.FORWARD);
flywheelRight.setDirection(DcMotor.Direction.REVERSE); // To spin both flywheels same direction
// Set zero power behavior
leftDrive.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE);
rightDrive.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE);
intakeMotor.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE);
flywheelLeft.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE);
flywheelRight.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE);
}
@Override
public void loop() {
// Driving controls - tank drive
double leftPower = -gamepad1.left_stick_y;
double rightPower = -gamepad1.right_stick_y;
leftDrive.setPower(leftPower);
rightDrive.setPower(rightPower);
// Intake control - gamepad2 right trigger pulls in, left trigger reverses intake
double intakePower = gamepad2.right_trigger - gamepad2.left_trigger;
intakeMotor.setPower(intakePower);
// Flywheel control - toggle with gamepad2 'a' button
// Hold 'a' to shoot, release to stop
if (gamepad2.a) {
flywheelLeft.setPower(1.0); // Full power (6000 RPM motors)
flywheelRight.setPower(1.0);
} else {
flywheelLeft.setPower(0);
flywheelRight.setPower(0);
}
telemetry.addData("Left Drive Power", leftPower);
telemetry.addData("Right Drive Power", rightPower);
telemetry.addData("Intake Power", intakePower);
telemetry.addData("Flywheel Running", gamepad2.a);
telemetry.update();
}

} package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.Autonomous; import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; import com.qualcomm.robotcore.hardware.DcMotor;

@Autonomous(name = "DecodeRobotAuto", group = "Autonomous") public class DecodeRobotAuto extends LinearOpMode {

private DcMotor leftDrive;
private DcMotor rightDrive;
private DcMotor flywheelLeft;
private DcMotor flywheelRight;
@Override
public void runOpMode() throws InterruptedException {
leftDrive = hardwareMap.get(DcMotor.class, "left_drive");
rightDrive = hardwareMap.get(DcMotor.class, "right_drive");
flywheelLeft = hardwareMap.get(DcMotor.class, "flywheel_left");
flywheelRight = hardwareMap.get(DcMotor.class, "flywheel_right");
leftDrive.setDirection(DcMotor.Direction.FORWARD);
rightDrive.setDirection(DcMotor.Direction.REVERSE);
flywheelLeft.setDirection(DcMotor.Direction.FORWARD);
flywheelRight.setDirection(DcMotor.Direction.REVERSE);
waitForStart();
// Drive forward for 2 seconds
leftDrive.setPower(0.5);
rightDrive.setPower(0.5);
sleep(2000);
// Stop driving
leftDrive.setPower(0);
rightDrive.setPower(0);
// Spin up flywheels
flywheelLeft.setPower(1.0);
flywheelRight.setPower(1.0);
// Shoot for 2 seconds
sleep(2000);
// Stop flywheels
flywheelLeft.setPower(0);
flywheelRight.setPower(0);
}

}

About

This repository is for practicing the GitHub Flow.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors