Uygulama Örnekleri
Dijital LED Göstergesi, bir insan kullanıcı için görsel geri bildirim olarak kullanılabilecek ışık üretir. Robotun hangi durumda olduğunu göstermek için Dijital LED Göstergesini kullanmak, otonom ve teleoperasyonlu programlarda hata ayıklama için kullanışlıdır. LED Göstergesi ile birlikte kullanılan diğer sensörler, robot operatörlerinin robotun oyun öğelerine sahip olup olmadığından robotun bir eylemi tamamlamasının engellenmesine kadar çeşitli şeyleri bilmesini sağlayabilir.
FIRST Tech Challenge
Kontrol Sisteminde Yapılandırma
Port 0 üzerindeki yeşil LED'i “yeşil” olarak yapılandırın. Bağlantı noktası 1'deki kırmızı LED'i “kırmızı” olarak yapılandırın.

Control (veya Expansion) Hub üzerindeki her bir dijital port, iki iletişim kanalı sayesinde iki ayrı port gibi davranabilir. Portların 0-1, 2-3, vb. olarak işaretlenmesinin nedeni budur. n+1 kanalı tek numaralı 1-7 portlarında, n kanalı ise çift numaralı 0-6 portlarında çalışır. İki iletişim kanalı nedeniyle, yeşil ve kırmızı LED, ilgili iletişim kanalına karşılık gelen bağlantı noktalarında yapılandırılmalıdır.
Programlama Örnekleri
Aşağıdaki örnek kod, bir Dokunmatik Sensörün durumuna bağlı olarak Dijital LED Göstergesinin rengini değiştirir (REV-31-1425).

package org.firstinspires.ftc.teamcode;
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
import com.qualcomm.robotcore.hardware.LED;
import com.qualcomm.robotcore.hardware.DigitalChannel;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.util.ElapsedTime;
@TeleOp
public class LEDCode extends LinearOpMode {
private DigitalChannel touch;
private DigitalChannel redLED;
private DigitalChannel greenLED;
@Override
public void runOpMode() {
// Get the LED colors and touch sensor from the hardwaremap
redLED = hardwareMap.get(DigitalChannel.class, "red");
greenLED = hardwareMap.get(DigitalChannel.class, "green");
touch = hardwareMap.get(DigitalChannel.class, "touch");
// Wait for the play button to be pressed
waitForStart();
// change LED mode from input to output
redLED.setMode(DigitalChannel.Mode.OUTPUT);
greenLED.setMode(DigitalChannel.Mode.OUTPUT);
// Loop while the Op Mode is running
while (opModeIsActive()) {
if (touch.getState()){
//Touch Sensor is not pressed
greenLED.setState(false);
redLED.setState(true);
} else {
//Touch Sensor is pressed
redLED.setState(false);
greenLED.setState(true);
}
}
}
}Last updated
Was this helpful?