Created
March 29, 2019 06:59
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import lejos.nxt.Button; | |
import lejos.nxt.MotorPort; | |
import lejos.nxt.NXTRegulatedMotor; | |
import lejos.nxt.SensorPort; | |
import lejos.nxt.TouchSensor; | |
import lejos.nxt.UltrasonicSensor; | |
import lejos.util.Delay; | |
public class MovLizard { | |
public static void main(String[] args) { | |
// TODO Auto-generated method stub | |
NXTRegulatedMotor motora = new NXTRegulatedMotor(MotorPort.A); | |
NXTRegulatedMotor motorb = new NXTRegulatedMotor(MotorPort.B); | |
TouchSensor sensora = new TouchSensor(SensorPort.S1); | |
TouchSensor sensorb = new TouchSensor(SensorPort.S2); | |
UltrasonicSensor sensor3 = new UltrasonicSensor(SensorPort.S3); | |
initWalk(motora, motorb, sensora, sensorb); | |
while (!Button.ESCAPE.isPressed()) { | |
motora.backward(); | |
motorb.backward(); | |
// ------------------------ | |
if (sensor3.getDistance() <= 30) { | |
synchronize(motora, motorb, sensora, sensorb); | |
turn(motora, motorb); | |
initWalk(motora, motorb, sensora, sensorb); | |
} | |
} | |
} | |
private static void turn(NXTRegulatedMotor motora, NXTRegulatedMotor motorb) { | |
motorb.setSpeed(360); | |
motora.setSpeed(0); | |
motorb.backward(); | |
Delay.msDelay(25000); | |
} | |
private static void synchronize(NXTRegulatedMotor motora, | |
NXTRegulatedMotor motorb, TouchSensor sensora, TouchSensor sensorb) { | |
motora.setSpeed(180); | |
motorb.setSpeed(180); | |
while (!sensora.isPressed() && Button.ESCAPE.isUp()) { | |
motora.forward(); | |
} | |
motora.stop(); | |
while (!sensorb.isPressed() && Button.ESCAPE.isUp()) { | |
motorb.forward(); | |
} | |
motorb.stop(); | |
} | |
private static void initWalk(NXTRegulatedMotor motora, | |
NXTRegulatedMotor motorb, TouchSensor sensora, TouchSensor sensorb) { | |
synchronize(motora, motorb, sensora, sensorb); | |
motorb.rotate(540); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment