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