1

有没有人有在 Lejos 编程语言中使用 NXT RGB 颜色传感器的代码示例。我尝试了 setType() 和 setMode() 的几种不同用法,但无济于事。

4

2 回答 2

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);
}
于 2011-02-15T00:02:39.343 回答
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();
        }       
    }
}
于 2013-03-23T09:31:07.133 回答