Uygulama Örnekleri
Uygulama Bilgileri
REV Manyetik Limit Anahtarı iki adet monte edilebilir mıknatısla birlikte gelir. Bu sensör bir kontak arayüzü gerektirmediğinden, mıknatıs sadece bant veya yapıştırıcı ile neredeyse her yere yumuşak bir şekilde monte edilebilir.
Manyetik alanın gücü, mıknatısın sensörden uzak olabileceği ve yine de algılanabileceği maksimum mesafeyi belirler. Bu sensörün tetikleme aralığını değiştirmek için alternatif (daha güçlü veya daha zayıf) mıknatıslar kolayca kullanılabilir.
Histerezis

REV Manyetik Limit Anahtarını kullanarak bir sistem tasarlarken histerezis etkisini göz önünde bulundurmak önemlidir. Manyetik alan Manyetik Limit Anahtarına yaklaştığında, alan gücü yükselen tetikleme noktasını (Bop) geçecek kadar arttıktan sonra sensör tetiklenir. Daha sonra mıknatıs sensörden uzaklaştıkça manyetik alan gücü düşer ancak alan düşen tetikleme seviyesinin (BRP) altına düşene kadar sensör tetiklenmiş durumda kalır. Bu iki nokta arasındaki fark histerezistir.
Hareket aralığının sonunda bir kolu durdurmak gibi basit bir sistem için histerezis çok fazla rol oynamayabilir, ancak doğrusal bir asansörde bir veya daha fazla durdurma noktası oluşturmak için bu, yazılım tasarımını etkileyebilir.
FTC Uygulamaları
Kontrol Sisteminde Yapılandırma
Manyetik Limit Anahtarı, aşağıdaki resimde gösterildiği gibi “REV Touch Sensor” (REV Dokunmatik Sensör) veya “ Digital Device” (Dijital Cihaz) olarak yapılandırılabilir.

Bu örnekte, Dokunmatik Sensör port 2 üzerinde yapılandırılmıştır. Manyetik Limit Anahtarının n+1 ve n iletişim kanalları üzerinden Kontrol Hub'ına sinyal gönderebileceği Pinout (Pin Çıkışı) Bölümünde kısaca belirtilmiştir. Sensörün hangi kanal üzerinden iletişim kuracağı, hangi port üzerinde yapılandırıldığına göre belirlenir. Bu durumda, Manyetik Limit Anahtarı n kanalı üzerinden iletişim kurar.
Programlama Uygulamaları
Aşağıdaki kod blokları, if/else mantığını kullanarak bir motorun hareket aralığını sınırlamak için Manyetik Limit Anahtarının nasıl kullanılacağına dair temel bir örnek vermektedir. Mıknatıs sensörün menzili içindeyse motor durur. Aksi takdirde motorun hareket etmesine izin verilir. Bir magnete yakınlıkla tetiklendiğinde, sensör basılı olarak kabul edilir.

package org.firstinspires.ftc.teamcode;
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
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
limit = hardwareMap.get(TouchSensor.class, "Limit");
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 Magnetic Limit Swtch is pressed, stop the motor
if (limit.isPressed()) {
motor.setPower(0);
} else { // Otherwise, run the motor
motor.setPower(0.3);
}
telemetry.addData("Arm Motor Power:", motor.getPower());
telemetry.update();
}
Last updated
Was this helpful?