Uygulama Örnekleri
Uygulama Bilgileri
REV Dokunmatik Sensör, merkezin dışında bir butona sahiptir. Bu sensör bir temas arayüzü gerektirdiğinden; sensör, düğmenin konumuna ve sensörü tetiklemesi amaçlanan nesneye veya mekanizmaya göre monte edilmelidir.
Dokunmatik Sensör için limit anahtarları gibi yaygın uygulamalar, kısıtlanmamış veya bükülme hareketinin dikkate alınmasını gerektirir. Limit anahtarları bir mekanizmanın hareket aralığını sınırlar. Mekanizma uygun şekilde sınırlandırılmazsa, temas arayüzünün Dokunmatik Sensörü tetiklememe riski vardır.
FTC Uygulamaları
Kontrol Sisteminde Yapılandırma
Dokunmatik Sensörü aşağıdaki resimde gösterildiği gibi “REV Touch Sensor” (REV Dokunmatik Sensör) olarak yapılandırın.

Bu örnekte, Dokunmatik Sensör birinci port üzerinde yapılandırılmıştır. Pinout (Pin Çıkışı) Bölümünde Dokunmatik Sensörün Kontrol Hub'ına sadece n+1 iletişim kanalı üzerinden sinyal gönderdiğine kısaca değinilmiştir. Bu sınırlama nedeniyle, Dokunmatik Sensör yalnızca tek numaralı dijital portlarda yapılandırıldığında çalışacaktır.
Programlama Uygulamaları
Aşağıdaki kod blokları, if/else mantığını kullanarak bir motorun hareket aralığını sınırlamak için Dokunmatik Sensörün nasıl kullanılacağına dair temel bir örnek verir. Düğmeye basılırsa motor durur. Aksi takdirde, motorun hareket etmesine izin verilir.

import com.qualcomm.robotcore.hardware.TouchSensor;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.hardware.DcMotor;
@TeleOp
public class TouchTest extends LinearOpMode {
// Define variables for our touch sensor and motor
TouchSensor touch;
DcMotor motor;
@Override
public void runOpMode() {
// Get the touch sensor and motor from hardwareMap
touch = hardwareMap.get(TouchSensor.class, "Touch");
motor = hardwareMap.get(DcMotor.class, "Motor");
// Wait for the play button to be pressed
waitForStart();
// Loop while the Op Mode is running
while (opModeIsActive()) {
// If the touch sensor is pressed, stop the motor
if (touch.isPressed()) {
motor.setPower(0);
} else { // Otherwise, run the motor
motor.setPower(0.3);
}
}
}Last updated
Was this helpful?