Rutina que permite al robot no chocar con obtaculos.
import lejos.nxt.*;
public class RADAR
{
public static void main(String[] args)
{
UltrasonicSensor u1 = new UltrasonicSensor(SensorPort.S1);
TouchSensor t1 = new TouchSensor(SensorPort.S2);
private int distancia;
Motor.A.rotate(0,true);
Motor.B.rotate(0,true);
Motor.A.forward();
Motor.B.forward();
while (!Button.ESCAPE.isPressed())
{
distancia = u1.getDistance();
if (distancia > 50 )
{
Motor.A.forward();
Motor.B.forward();
}
if (distancia >= 30 && distancia <= 50)
{
Motor.B.rotate(-45,true);
}
if (distancia <=30)
{
Motor.A.stop();
Motor.B.stop();
Motor.A.backward();
Motor.B.backward();
if (t1.isPressed()){
Motor.A.stop();
Motor.B.stop();
Motor.A.forward();
Motor.B.forward();
LCD.drawString("Sensor Presionado", 1, 3);
Thread.sleep(1000);
}
Thread.sleep(1000);
Motor.B.rotate(-45,true);
Thread.sleep(1000);
}
Motor.A.forward();
Motor.B.forward();
LCD.drawInt(distancia/10, 1, 1);
LCD.drawString("Cm.", 4, 1);
}
}
}
|