2014-11-08 85 views
0

光强我有一个问题:测量EV3颜色传感器通过反射LEJOS

通过LEJOS,我要控制连接到端口2

但实际上,当我看着我的EV3彩色传感器EV3ColorSensor类,我找不到任何方法,我可以测量我的色彩传感器连接端口2的反射光强度。

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

你能帮我解决这个问题吗?

谢谢。

回答

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

需要设置RED使用下面的setFloodLight LED。它的工作正常。

sampleProvider = colorSensor.getRedMode(); 
colorSensor.setFloodlight(Color.RED);