Uygulama Örnekleri
Uygulama Örnekleri
REV 2m Mesafe Sensörü, diğer menzil sensörlerine göre çok daha doğru ve güvenilir bir ölçüm üretirken, aşağıdaki ipuçları hataları en aza indirmeye yardımcı olacaktır.
Uçuş süresi ölçümlerinin en büyük avantajı, hedefin yüzey yansımasının hesaplanan mesafeyi önemli ölçüde etkilememesidir. Bununla birlikte, en küçük hatalar ve en uzak ölçümler daha yansıtıcı hedeflerle elde edilir. Benzer şekilde, daha büyük hedeflerin tespit edilmesi daha kolaydır çünkü sensörlerin 25°'lik görüş alanını daha fazla doldururlar.
Ortamdaki kızılötesi (IR) parazitler de ölçüm mesafesini ve kalitesini etkileyebilir. Sensör güneş ışığı alan ortamlarda doğru ölçümler yapabilir, ancak maksimum mesafe azalacaktır. Aşağıdaki tablo sensörün tipik menzil özelliklerini özetlemektedir:
Hedef Yansıtma
Kapalı alan
Dış mekan (bulutlu)
Beyaz (88%)
200 cm †
80 cm
Gri (17%)
80 cm
50 cm
† Uzun menzilli API profili kullanma; varsayılan profil aralığı 120 cm'dir.
FTC Uygulamaları
Kontrol Sisteminde Yapılandırma
2m Mesafe Sensörünü aşağıdaki resimde gösterilen “REV 2M Mesafe Sensörü” olarak yapılandırın.

Bu örnekte, 2m Mesafe Sensörü I2C veri yolu 1 üzerinde yapılandırılmıştır. 2m Mesafe Sensörü, aynı veri yolunda bir Renk Sensörü V3 yapılandırılmadığı sürece I2C veri yollarından herhangi birinde yapılandırılabilir.
Programlama Uygulamaları
Bu program, mesafe sensörüne 10 santimetreden daha yakın bir nesne varsa motoru hareket ettirir ve bu aralıkta bir nesne yoksa motoru durdurur.

package org.firstinspires.ftc.teamcode;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.hardware.DcMotor;
import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit;
import com.qualcomm.robotcore.hardware.DistanceSensor;
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
@TeleOp
public class DistanceTest extends LinearOpMode {
DistanceSensor distance;
DcMotor motor;
@Override
public void runOpMode() {
// Get the distance sensor and motor from hardwareMap
distance = hardwareMap.get(DistanceSensor.class, "Distance");
motor = hardwareMap.get(DcMotor.class, "Motor");
// Loop while the Op Mode is running
waitForStart();
while (opModeIsActive()) {
// If the distance in centimeters is less than 10, set the power to 0.3
if (distance.getDistance(DistanceUnit.CM) < 10) {
motor.setPower(0.3);
} else { // Otherwise, stop the motor
motor.setPower(0);
}
}
}
}FRC Uygulamaları
WPILib ve roboRIO ile kullanım için uygun kütüphanenin kurulması gerekecektir. Sensörü roboRIO'ya kolayca bağlamak için roboRIO'nun I2C portunu ve 4 pinli JST PH - 4 pinli roboRIO I2C Kablosunu (REV-11-1729) kullanın.
Ek Kaynaklar
VL53L0X, özellikleri ve ST Uygulama Programlama Arayüzü (API) hakkında daha fazla bilgiyi ST web sitesinde bulabilirsiniz:
Last updated
Was this helpful?