Repository navigation
Expand file tree
/
Copy pathRobotSystem.java
More file actions
153 lines (141 loc) · 4.08 KB
/
Copy pathRobotSystem.java
File metadata and controls
153 lines (141 loc) · 4.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package com.watson;
import com.watson.listeners.*;
import com.watson.notifiers.*;
import lejos.nxt.*;
public class RobotSystem {
// When the system is created
private CanSensedListener csl;
private CanTouchListener ctl;
private LineDetectListener ldl;
private TimerCompleteListener tcl;
private CanSenseNotifier csn;
private CanTouchNotifier ctn;
private LineDetectNotifier ldn;
public RobotSystem(){
csl = new CanSensedListener();
ctl = new CanTouchListener();
ldl = new LineDetectListener();
tcl = new TimerCompleteListener();
csn = new CanSenseNotifier();
ctn = new CanTouchNotifier();
ldn = new LineDetectNotifier();
ldn.register(ldl);
// Let canSenseListener be a new CanSenseListeners
// Let canTouchListener be a new CanTouchListener
// Let lineDetectListener be a new LineDetectListener
// Let timeCompleteListener be a new TimeCompletedListener
// Let timerListenerAndTime be a new TimerListenerAndTime
}
public void test() {
// LightSensor ls = new LightSensor(SensorPort.S1);
// LCD.drawString("" + ls.readNormalizedValue(), 0, 0);
// Button.waitForAnyPress();
// ls.calibrateHigh();
// Button.waitForAnyPress();
// ls.calibrateLow();
// while(true) {
// LCD.drawString("" + ls.readNormalizedValue(), 0, 0);
// }
while(true) {
UltrasonicSensor us = new UltrasonicSensor(SensorPort.S4);
LCD.drawString("" + us.getRange(), 0, 0);
}
}
// Search for can
public void searchForCan() {
csn.register(csl);
ctn.register(ctl);
rotate();
// Register canSenseListener
// Register canTouchListener
// Rotate
}
//Set timerListenerAndTimes listener to be timeCompleteListener
// Set timerListenerAndTimes time to be 60 seconds
//
// Register lineDetectListener
// Register timeListenerAndTime
// Rotate
public void rotate() {
// Move one motor forward
// Move second motor backward
Motor.B.setSpeed(150);
Motor.C.setSpeed(120);
Motor.B.forward();
Motor.C.backward();
}
// Move Forward
// Move both motors forward
public void moveForward() {
LCD.drawString("Move State", 0, 0);
Motor.B.setSpeed(300);
Motor.C.setSpeed(300);
Motor.B.forward();
Motor.C.forward();
}
//
// Move Can
public void moveCan() {
tone();
// Move forward
// Play solid tone
}
// Move Backward
public void moveBackward() {
LCD.drawString("Backward State", 0, 0);
csn.unregister(csl);
ctn.unregister(ctl);
Motor.B.setSpeed(300);
Motor.C.setSpeed(280);
Motor.B.backward();
Motor.C.backward();
beep();
//todo implement timer here
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
searchForCan();
// Unregister canSenseListener
// Unregister canTouchListener
// Let backupTimerListernerAndTime be a new TimerListnerAndTime
// Let timeCompleteListener be a new TimeComleteListener
// Let time be 3 seconds
// Set backupTimerListernerAndTime TimeListener
// Register timeCompleteListener with Timer Notifier
// Loop until notified by timer or line sensor...
// Move both motors backward
// Play beep
// ...
// Search for Can
}
// Stop
public void stop() {
LCD.drawString("Stop State", 0, 0);
Motor.B.stop();
Motor.C.stop();
}
// Stop motors from moving forwards or backwards
//
// Beep
public void beep() {
//todo may change to beep
Sound.beep();
Thread.sleep(500);
Sound.beep();
Thread.sleep(500);
Sound.beep();
// Play beep
}
//Solid Tone
public void tone() {
//todo figure out solid tone
// Play solid tone
Sound.playTone(1000, 3000);
}
// Celebration Music
public void celebrationMusic() {
// Play celebration music
}
}