Motor Programlama

OpMode’unuzu Motor Kodunu Eklemek için Düzenleme

OpMode’unuza motorlarla ilgili kodu ekleyin. Şimdilik, tamamlanan servo kodunuzu çalışma alanınızın yanına taşıyabilirsiniz. Alternatif olarak, ikinci bir program oluşturmayı tercih edebilirsiniz.

Motor Nedir?

Servolar gibi, bir motor da bir tür aktüatördür. Bir motor düşündüğünüzde, bir arabanın tekerleklerini döndüren motorlardan, bir uçağın uçmasını sağlayan büyük türbinlere kadar birçok şey aklınıza gelebilir. Robotlarımız için DC motorlara odaklanacağız. DC motorlar, doğrudan akım (DC) kullanarak dönen ve bağlı bir mekanizmayı hareket ettirmek için gereken mekanik kuvveti üreten bir elektrik motoru türüdür.

Bu eğitim için, Core Hex Motor veya HD Hex Motor kullanılabilir. Ancak, motorların Driver Hub üzerinde doğru bir şekilde yapılandırıldığından emin olun.

Çoğu standart motor, ayarlanabilir hız veya güç ile her iki yönde sürekli olarak dönebilir. Bazı motorlar ayrıca bir enkoder içerir. Bu, motorların bir servo gibi belirli bir pozisyona hareket etmesine veya tamamlanan dönüşlerin sayısı gibi veriler toplamasına olanak tanır!


Hadi Programlamaya Başlayalım!

Bir sonraki bölümlerde, motorumuzu farklı yönlere otomatik olarak hareket ettirmeyi, ardından oyun kumandasından gelen girdilere yanıt olarak hareket ettirmeyi öğreneceğiz. Son bölümde ise motorun dahili enkoderini kullanarak telemetriye göz atacağız.


Motor Programlama Konuları

  1. Motor Temelleri Programlama

  2. Bir Oyun Kumandası ile Motor Programlama

  3. Motor Telemetri Programlama


Tam Kodun Önizlemesi

@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();

    // Oyunun başlamasını bekle (sürücü PLAY'e basar)
    waitForStart();

    // Maç bitene kadar çalıştır (sürücü STOP'a basar)
    while (opModeIsActive()) {
        test_motor.setPower(-this.gamepad1.left_stick_y); // Motor gücünü oyun kumandasıyla kontrol et
        telemetry.addData("Motor Power", test_motor.getPower()); // Motor gücünü telemetriye ekle
        telemetry.addData("Status", "Running"); // Durum bilgisi
        telemetry.update(); // Telemetriyi güncelle
    }
}

Last updated