質問があります:
leJos 経由で、ポート 2 に接続されている ev3 カラー センサーを制御したいと考えています。
しかし、実際に EV3ColorSensor クラスを見てみると、ポート 2 に接続されたカラーセンサーの反射光強度を測定できるメソッドが見つかりませんでした。
または、メソッドの名前から、私が望むことを実行できるメソッドがあるかどうかを理解できませんでした。
この問題を解決していただけませんか?
ありがとうございました。
以下のsetFloodLightを使用してRED LEDをオンに設定する必要があります。それはそれでうまくいきます。
sampleProvider = colorSensor.getRedMode();
colorSensor.setFloodlight(Color.RED);
現時点ではこのコードをテストできませんが、最小限の調整が必要になる場合があります。
import java.util.Arrays;
import lejos.hardware.sensor.EV3ColorSensor;
import lejos.hardware.port.Port;
import lejos.hardware.port.SensorPort;
import lejos.robotics.SampleProvider;
public class ColorSensorTest {
// Modes and samples are explained in LeJOS wiki:
// http://sourceforge.net/p/lejos/wiki/Sensor%20Framework/
private static Port colorSensorPort = SensorPort.S2;
private static EV3ColorSensor colorSensor;
private static SampleProvider sampleProvider;
private static int sampleSize;
private static float[] getSample() {
// Initializes the array for holding samples
float[] sample = new float[sampleSize];
// Gets the sample an returns it
sampleProvider.fetchSample(sample, 0);
return sample;
}
public static void main(String[] args) {
// Initializes the sensor & sensor mode
colorSensor = new EV3ColorSensor(colorSensorPort);
sampleProvider = colorSensor.getRedMode();
sampleSize = sampleProvider.sampleSize();
// Takes some samples and prints them
for (int i = 0; i < 4; i++) {
float[] sample = getSample();
System.out.println("N=" + i + " Sample=" + Arrays.toString(sample));
}
}
}