d03946c37a8c35196f0dcb3c3f9b71845433ce30
[des2015.git] / mart / ev3 / ex2 / nl / ru / des / Main.java
1 package nl.ru.des;
2
3 import lejos.hardware.ev3.EV3;
4 import lejos.hardware.ev3.LocalEV3;
5 import lejos.hardware.lcd.Font;
6 import lejos.hardware.motor.EV3LargeRegulatedMotor;
7 import lejos.hardware.port.MotorPort;
8 import lejos.hardware.sensor.EV3ColorSensor;
9 import lejos.robotics.subsumption.Arbitrator;
10 import lejos.robotics.subsumption.Behavior;
11
12 public class Main {
13 public static Arbitrator arbitrator;
14
15 public static void main(String[] args) {
16 EV3 brick = LocalEV3.get();
17
18 //BTMemory.getBTMemory(true, null);
19 BTMemory.getBTMemory(false, "Rover1");
20 LCDPrinter lcdprinter = new LCDPrinter(brick.getGraphicsLCD(), Font.getSmallFont());
21 LCDPrinter.print("Starting up systems");
22 lcdprinter.start();
23
24 LCDPrinter.print("Loading keylistener...");
25 brick.getKey("Escape").addKeyListener(new ButtonListener());
26
27 LCDPrinter.print("Loading motors...");
28 EV3LargeRegulatedMotor rightMotor = new EV3LargeRegulatedMotor(MotorPort.D);
29 EV3LargeRegulatedMotor leftMotor = new EV3LargeRegulatedMotor(MotorPort.A);
30 leftMotor.setSpeed(200);
31 rightMotor.setSpeed(200);
32 rightMotor.setAcceleration(1000);
33 leftMotor.setAcceleration(1000);
34
35 // LCDPrinter.print("Loading touch sensors...");
36 // EV3TouchSensor leftTouch = new EV3TouchSensor(brick.getPort("S1"));
37 // EV3TouchSensor rightTouch = new EV3TouchSensor(brick.getPort("S4"));
38 LCDPrinter.print("Loading color sensor...");
39 EV3ColorSensor colorSensor = new EV3ColorSensor(brick.getPort("S2"));
40 ColorSensor colorSensorObject = new ColorSensor(colorSensor);
41
42 // LCDPrinter.print("Loading ultrasone sensor...");
43 // EV3UltrasonicSensor ultraSensor = new EV3UltrasonicSensor(brick.getPort("S3"));
44
45 LCDPrinter.print("Initializing behaviours...");
46 Behavior[] behaviorList = new Behavior[] {
47 new WandererBehaviour(colorSensorObject, leftMotor, rightMotor),
48 new StayInFieldBehaviour(colorSensorObject, leftMotor, rightMotor)
49 };
50
51
52 LCDPrinter.print("Initializing arbitrator...");
53 Main.arbitrator = new Arbitrator(behaviorList);
54 Main.arbitrator.start();
55 LCDPrinter.print("Takeoff!");
56 colorSensor.close();
57 // ultraSensor.close();
58 }
59 }