2014-11-08 9 views
0

를 통해 빛의 강도를 반영 측정 EV3ColorSensor 클래스에서, 연결된 포트 2의 반사광 세기를 측정 할 수있는 방법을 찾지 못했습니다.는 EV3 컬러 센서는 내가 질문이 leJos

또는 방법의 이름에서 무엇을 할 수있는 방법이 있는지 이해할 수 없었습니다. 내가 원하는.

이 문제를 도와 줄 수 있습니까?

감사합니다.

답변

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