0
光强我有一个问题:测量EV3颜色传感器通过反射LEJOS
通过LEJOS,我要控制连接到端口2
但实际上,当我看着我的EV3彩色传感器EV3ColorSensor类,我找不到任何方法,我可以测量我的色彩传感器连接端口2的反射光强度。
或者我无法从方法的名称理解是否有这样的方法可以做什么我想要。
你能帮我解决这个问题吗?
谢谢。
光强我有一个问题:测量EV3颜色传感器通过反射LEJOS
通过LEJOS,我要控制连接到端口2
但实际上,当我看着我的EV3彩色传感器EV3ColorSensor类,我找不到任何方法,我可以测量我的色彩传感器连接端口2的反射光强度。
或者我无法从方法的名称理解是否有这样的方法可以做什么我想要。
你能帮我解决这个问题吗?
谢谢。
无法测试在这个时刻这个代码,但它可能只需要最少的调整:
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));
}
}
}
需要设置RED使用下面的setFloodLight LED。它的工作正常。
sampleProvider = colorSensor.getRedMode();
colorSensor.setFloodlight(Color.RED);