Robot Kontrol Tam Programı
Her şeyi bir araya getirme zamanı, böylece tam hareketli bir robotumuz olacak! HelloRobot_TeleOp programımıza geri dönerek, aşağıdaki döngüde tahrik sistemi kodunun altına kol kontrolümüzü ekleyebiliriz.
Tam Program Bu program, başlangıçta Hello Robot ile oluşturduğumuz aynı yapılandırma dosyasını kullanır. Bu bölümde bazı donanımlar kullanılmayabilir.
Kopyala
package org.firstinspires.ftc.teamcode;
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
import com.qualcomm.robotcore.hardware.Blinker;
import com.qualcomm.robotcore.hardware.Servo;
import com.qualcomm.robotcore.hardware.TouchSensor;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.eventloop.opmode.Disabled;
import com.qualcomm.robotcore.hardware.DcMotor;
import com.qualcomm.robotcore.hardware.DcMotorSimple;
import com.qualcomm.robotcore.util.ElapsedTime;
@TeleOp
public class HelloRobot_TeleOp extends LinearOpMode {
private Blinker control_Hub;
private DcMotor arm;
private DcMotor leftmotor;
private DcMotor rightmotor;
private DcMotor test_motor;
private Servo test_servo;
private TouchSensor test_touch;
@Override
public void runOpMode() {
control_Hub = hardwareMap.get(Blinker.class, "Control Hub");
arm = hardwareMap.get(DcMotor.class, "arm");
leftmotor = hardwareMap.get(DcMotor.class, "leftmotor");
rightmotor = hardwareMap.get(DcMotor.class, "rightmotor");
test_motor = hardwareMap.get(DcMotor.class, "test_motor");
test_servo = hardwareMap.get(Servo.class, "test_servo");
test_touch = hardwareMap.get(TouchSensor.class, "test_touch");
rightmotor.setDirection(DcMotorSimple.Direction.REVERSE);
double x;
double y;
telemetry.addData("Status", "Initialized");
telemetry.update();
// Oyun başlayana kadar bekleyin (sürücü PLAY'e basar)
waitForStart();
// maç bitene kadar çalışmaya devam edin (sürücü STOP'a basar)
while (opModeIsActive()) {
// Tahrik Sistemi Kontrolü
x = gamepad1.right_stick_x;
y = -gamepad1.right_stick_y;
rightmotor.setPower(y-x);
leftmotor.setPower(y+x);
// Kol Kontrolü (Limit Anahtarı ile)
if(test_touch.isPressed()){
if(gamepad1.dpad_up){
arm.setPower(0.2);
}
else{
arm.setPower(0);
}
}
else {
if(gamepad1.dpad_up){
arm.setPower(0.2);
}
else if (gamepad1.dpad_down){
arm.setPower(-0.2);
}
else {
arm.setPower(0);
}
}
telemetry.addData("Status", "Running");
telemetry.update();
}
}
}Sağ Çubuk vs. Sol Çubuk?
Hangi joystick'in robotu sürmek için kullanılacağı, büyük ölçüde sürücünün tercihlerine bağlıdır.
Hello Robot için, arm kontrolü Dpad kullanıldığından sağ çubuk kullanılacaktır. Bu, x = gamepad1.right_stick_x; satırlarında sağdan sola değişiklik yaparak istediğiniz zaman değiştirilebilir.
İndirilenler Bu önceden yapılmış programlar, Class Bot V2'nin "kavrama" servosunun kontrolünü içermez. Bir servoyu nasıl programlayacağınızı öğrenmek için Servoları Programlama konusuna göz atın.
Class Bot V2 / Hello Robot Yapılandırma Dosyası:
694B HelloRobot.xml Class Bot V2 / Hello Robot Tam TeleOp:
4KB HelloRobot_TeleOp.java Class Bot V2 / Hello Robot Kol Kontrolü Limit Anahtarı Yok:
3KB HelloRobot_ArmControl.java Class Bot V2 / Hello Robot Kol Kontrolü Limit Anahtarı ile:
Last updated