Motor Telemetry Programlama
Motorlar ve Telemetry
Hatırlayacağınız üzere, telemetry, verilerin toplanması ve iletilmesi işlemidir. Motorlarımızdan bize çok faydalı bilgiler gönderilebilir, ancak başlangıç olarak motor gücünü joystick hareketine dayalı olarak çıktı aldıracağız.
Servo programımızda olduğu gibi, kodumuza yeni bir satır ekleyerek telemetry.addData(); kullanacağız.
Telemetry Kullanımı
Joystick hareketine göre motor gücünü ayarlamak için daha önce kullandığımız kodun içine bir telemetry.addData(); satırı ekleyin:
while (opModeIsActive()) {
test_motor.setPower(-this.gamepad1.left_stick_y);
telemetry.addData(); // Yeni satır
telemetry.addData("Status", "Running");
telemetry.update();
}Bu sefer, string değerimizi "Motor Power" olarak belirleyeceğiz. Virgülden sonra ise test_motor.getPower() kullanarak motor gücünü çıktı olarak aldıracağız.
Güncellenmiş Kod
Tam kod şu şekilde olacak:
while (opModeIsActive()) {
test_motor.setPower(-this.gamepad1.left_stick_y);
telemetry.addData("Motor Power", test_motor.getPower());
telemetry.addData("Status", "Running");
telemetry.update();
}Tam Kod Örneği
Aşağıda, motor gücünü ve çalışma durumunu ekrana yazdıran tam program verilmiştir:
@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");
test_servo.setPosition(0);
telemetry.addData("Status", "Initialized");
telemetry.update();
// Oyun başlatılana kadar bekler (sürücü PLAY tuşuna basar)
waitForStart();
// Maç sona erene kadar çalışır (sürücü STOP tuşuna basar)
while (opModeIsActive()) {
test_motor.setPower(-this.gamepad1.left_stick_y);
telemetry.addData("Motor Power", test_motor.getPower());
telemetry.addData("Status", "Running");
telemetry.update();
}
}Bu kod, joystick hareketini algılar ve motor gücünü buna göre ayarlar. Ayrıca, motor gücünü Driver Hub ekranında göstermek için telemetry.addData() kullanır.
Last updated