Funktionstest von Licht- und Farbsensor

Helligkeit messen mit Lichtsensor

Im nachfolgenden Programm LinieFolgen.java wird der Roboter von zwei Motoren angetrieben, gestartet mit gleicher Geschwindigkeit. Der Lichtsensor misst wiederholend die Helligkeit und unterscheidet beim Messergebnis drei Intervalle. Durch Veränderung der Motorgeschwindigkeit in Abhängigkeit der Messung fährt dreht sich der Roboter minimal nach links, rechts oder fährt ein kleines Stück geradeaus.

import lejos.nxt.Motor;
import lejos.nxt.NXTRegulatedMotor;
import lejos.nxt.LightSensor;
import lejos.nxt.SensorPort;

public class LinieFolgen
{
  public static LightSensor ls = new LightSensor(SensorPort.S3);
  public static NXTRegulatedMotor reMo = Motor.A;
  public static NXTRegulatedMotor liMo = Motor.B;
  
  public static void main (String args[])
  {
    reMo.setSpeed(800);
    liMo.setSpeed(800);
    
    reMo.forward();
    liMo.forward();
    
    while(true)
    {    
      int val = ls.readValue();   
      
      if(val < 30)
      {
        reMo.setSpeed(800);    
        liMo.setSpeed(200);
      }  
      else
      {        
        if(val > 50)
        {
          reMo.setSpeed(200);    
          liMo.setSpeed(800);
        }  
        else
        {
          reMo.setSpeed(800);    
          liMo.setSpeed(800);
        }
      }      
    }                  
  }      
}

Farbsensor: Farbig leuchten und Farben messen

Das nachfolgende Programm FarbTest.java misst wiederholend mit dem Farbsensor die ColorID sowie die RGB-Farbwerte. Diese werden fortlaufend aktualisiert auf dem Display des Bricks angezeigt. Das Flutlicht wird in der Farbe der erfassten ColorID eingefärbt.

import lejos.nxt.ColorSensor;
import lejos.nxt.SensorPort;
import lejos.nxt.LCD;
import lejos.robotics.Color;
public class FarbTest
{  
  public static void main (String args[])
  {
    ColorSensor cs = new ColorSensor(SensorPort.S1);    
    while(true)
    {          
      int val = cs.getColorID();      
      Color c = cs.getColor();
      
      LCD.clear();
      LCD.drawInt(val, 0, 0);
      LCD.drawInt(c.getRed(), 0, 1);
      LCD.drawInt(c.getGreen(),0, 2);
      LCD.drawInt(c.getBlue(), 0, 3);
                     
      cs.setFloodlight(cs.getColorID());      
    }  
  }
}
X

Fehler melden

X

Suche