Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
LEGO Group 8
LEGO
Commits
d9e721d9
Commit
d9e721d9
authored
Mar 02, 2015
by
Casper
Browse files
Added PartyFinder code
parent
ffd35119
Changes
1
Hide whitespace changes
Inline
Side-by-side
lesson3/PartyFinder/src/PartyFinder.java
0 → 100644
View file @
d9e721d9
import
lejos.nxt.*
;
public
class
PartyFinder
{
static
final
double
turnDegree
=
0.08797653958
;
static
final
long
sampleInterval
=
25
;
static
MotorPort
leftMotor
=
MotorPort
.
C
;
static
MotorPort
rightMotor
=
MotorPort
.
B
;
static
ADSensorPort
soundSensorLeft
=
SensorPort
.
S2
;
static
ADSensorPort
soundSensorRight
=
SensorPort
.
S3
;
static
int
leftValue
;
static
int
rightValue
;
static
int
diff
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
soundSensorLeft
.
setTypeAndMode
(
SoundSensor
.
TYPE_SOUND_DB
,
SoundSensor
.
MODE_PCTFULLSCALE
);
soundSensorRight
.
setTypeAndMode
(
SoundSensor
.
TYPE_SOUND_DB
,
SoundSensor
.
MODE_PCTFULLSCALE
);
LCD
.
clear
();
LCD
.
drawString
(
"Finding the party"
,
0
,
0
);
while
(!
Button
.
ESCAPE
.
isDown
())
{
leftValue
=
soundSensorLeft
.
readRawValue
();
rightValue
=
soundSensorRight
.
readRawValue
();
if
(
leftValue
<
940
&&
rightValue
<
940
)
{
diff
=
leftValue
-
rightValue
;
if
(
diff
<
0
)
{
// Party is to right
right
(
75
);
}
else
if
(
diff
>
0
)
{
// Party is to left
left
(
75
);
}
else
{
// Party is straight ahead ( or behind you :( )
forward
(
75
);
}
}
else
{
stop
();
}
// Debug info
LCD
.
drawInt
(
leftValue
,
4
,
0
,
1
);
LCD
.
drawInt
(
rightValue
,
4
,
0
,
2
);
LCD
.
drawInt
(
diff
,
4
,
0
,
3
);
Thread
.
sleep
(
sampleInterval
);
}
}
public
static
void
stop
()
{
leftMotor
.
controlMotor
(
0
,
MotorPort
.
STOP
);
rightMotor
.
controlMotor
(
0
,
MotorPort
.
STOP
);
}
public
static
void
forward
(
int
power
)
{
leftMotor
.
controlMotor
(
power
,
MotorPort
.
FORWARD
);
rightMotor
.
controlMotor
(
power
,
MotorPort
.
FORWARD
);
}
public
static
void
left
(
int
power
)
{
leftMotor
.
controlMotor
(
power
,
MotorPort
.
FORWARD
);
rightMotor
.
controlMotor
(
power
/
4
,
MotorPort
.
FORWARD
);
}
public
static
void
right
(
int
power
)
{
leftMotor
.
controlMotor
(
power
/
4
,
MotorPort
.
FORWARD
);
rightMotor
.
controlMotor
(
power
,
MotorPort
.
FORWARD
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment