通过leJos测量EV3颜色传感器反射光强度

时间:2014-11-08 10:26:23

标签: java lego lejos-nxj

我有一个问题:

通过leJos,我想控制连接到端口2的ev3颜色传感器。

但实际上当我查看EV3ColorSensor类时,我找不到任何可以测量我的colorsensor连接端口2的反射光强度的方法。

或者我无法从方法的名称中理解是否有这样的方法可以做我想要的。

你可以帮我解决这个问题吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

目前无法测试此代码,但可能只需要进行最小的调整:

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));
        }
    }

}

答案 1 :(得分:1)

需要使用下面的 setFloodLight 设置 RED LED 。它可以很好地工作。

{{1}}