Thursday, 23 February 2012

legolab 4 - code

import lejos.nxt.*;

public class PIDFollower
{
 public static void main (String[] aArg)
 throws Exception
 {
    final int kp = 1;
    final int tp = 68;
    BlackWhiteSensor sensor = new BlackWhiteSensor(SensorPort.S1);
   
    sensor.calibrate();
    int offset = sensor.getThreshold();
   
    LCD.clear();
    LCD.drawString("Light: ", 0, 2);
   
    while (! Button.ESCAPE.isPressed())
    {
        int lightValue =  sensor.light();
        int error = lightValue - offset;
        int turn = kp * error;
        Car.forward(tp + turn, tp - turn);
    }
     
    Car.stop();
    LCD.clear();
    LCD.drawString("Program stopped", 0, 0);
    LCD.refresh();
  }
}












import lejos.nxt.*;

public class BWSensorTest {
   public static void main(String [] args) throws Exception
      {
          ColorSensor s = new ColorSensor(SensorPort.S1);
          s.calibrate();

          while (! Button.ESCAPE.isPressed())
          {           
              int lightValue = s.light();
              LCD.drawInt(lightValue,3,7,0);
              if (s.black()) {
                  LCD.clear();
                  LCD.drawInt(lightValue,3,7,0);
                  LCD.drawString("black", 0, 0);
                  LCD.refresh();
              }
              if (s.white()) {
                  LCD.clear();
                  LCD.drawInt(lightValue,3,7,0);
                  LCD.drawString("white", 0, 0);
                  LCD.refresh();
              }
              
              if (s.green()) {
                  LCD.clear();
                  LCD.drawInt(lightValue,3,7,0);
                  LCD.drawString("green", 0, 0);
                  LCD.refresh();
              }
              Thread.sleep(5);
          }
          LCD.clear();
          LCD.drawString("Program stopped", 0, 0);
          Thread.sleep(2000);
      }
}

No comments:

Post a Comment