import lejos.nxt.*;
import lejos.nxt.addon.*;
import lejos.robotics.navigation.*;
/**
*
* @author Mr.Rick
*
*/
public class Robot9{
/**
* Area de propiedades del robot
*/
//Actuadores
private Motor leftMotor;
private Motor rightMotor;
private TachoPilot pilot;
private SimpleNavigator sn;
/**
* Constructor
*/
public Robot9(){
leftMotor = Motor.A;
rightMotor = Motor.B;
//float wheelDiameter, float trackWidth
pilot = new TachoPilot(2.25f, 4.8f, leftMotor, rightMotor);
sn = new SimpleNavigator(pilot);
}
/**
*
* @param distance
*/
public void travel(float distance){
pilot.travel(distance,true);
}
public void forward(){
pilot.forward();
}
/**
*
*/
public void stop(){
pilot.stop();
}
public void rotate(int angle){
pilot.rotate(angle);
}
public SimpleNavigator getPilot(){
return sn;
}
}
import lejos.nxt.*;
public class USSensor1 {
private static UltrasonicSensor US;
public static void main(String[] args){
US = new UltrasonicSensor(SensorPort.S1);
int distance = 0;
Sound.setVolume(Sound.VOL_MAX);
//Motors
Motor.A.setSpeed(400);
Motor.B.setSpeed(398);
Motor.A.forward();
Motor.B.forward();
while(!Button.ESCAPE.isPressed()){
distance = US.getDistance();
if (distance <= 25)
{
break;
}
Sound.playTone(distance+400, 100);
LCD.drawString(" ", 0, 0);
LCD.drawString("" + distance, 0, 0);
}
Motor.A.stop();
Motor.B.stop();
Motor.A.forward();
try {Thread.sleep(1000);} catch (Exception e) {}
Motor.A.forward();
Motor.B.forward();
try {Thread.sleep(2000);} catch (Exception e) {}
}
}
Hemos utilizado el sensor de ultrasonidos para hacer que el robot pare al encontrar un obstaculo y girar para llegar al objetivo