2010-09-28 108 views
1

有沒有人有Lejos編程語言中使用NXT RGB顏色傳感器的代碼示例。我嘗試了setType()和setMode()的幾種不同用法,但無濟於事。Lejos RGB顏色傳感器

+0

你可能會在chiphacker.com更好的反應。 – leppie 2010-09-28 19:25:18

回答

1

下面是一些工作代碼:

ColorLightSensor cs = new ColorLightSensor(SensorPort.S1, SensorConstants.TYPE_LIGHT_ACTIVE); 

for(int i = 0; i < 100 && !done; i++) 
{ 
    cs.setFloodlight(lejos.robotics.Colors.Color.RED); 

    sleep(1); 

    LCD.clearDisplay(); 
    LCD.drawString("" + cs.getRedComponent(), 0,0); 
    cs.setFloodlight(lejos.robotics.Colors.Color.GREEN); 

    sleep(1); 

    LCD.clearDisplay(); 
    LCD.drawString("" + cs.getGreenComponent(), 0,0); 
    cs.setFloodlight(lejos.robotics.Colors.Color.BLUE); 

    sleep(1); 

    LCD.clearDisplay(); 
    LCD.drawString("" + cs.getBlueComponent(), 0,0); 
} 
1

這裏是監控NXT 2顏色傳感器一個簡單的例子:

import lejos.nxt.*; 
import lejos.robotics.*; 

public class MyColorSensor { 
    public static void main(String argv[]) { 
     ColorSensor cs = new ColorSensor(SensorPort.S1); 

     for(int i = 0; i < 10; i++) { 
      Color color = cs.getColor(); 
      System.out.println("Color = " + cs.getColorID() + " " + color.getColor() + 
       "(" + color.getRed() + "," + color.getGreen() + "," + color.getBlue() 
       +") " + color.getColor()); 
      Button.waitForAnyPress(); 
     }  
    } 
}