jrt92 created page: home authored by Josephine Raun Thomsen's avatar Josephine Raun Thomsen
...@@ -125,6 +125,75 @@ Programmet SoundCtrCar.java gør brug af forskellige slags løkker. Hvis program ...@@ -125,6 +125,75 @@ Programmet SoundCtrCar.java gør brug af forskellige slags løkker. Hvis program
Som det demonstreres i videoen er det ikke muligt at afbryde programmet ved brug af ESCAPE knappen. Dette skyldes at løkkerne i programmet blokerer for trykket efter at lydsensoren har registreret lyden. Som det demonstreres i videoen er det ikke muligt at afbryde programmet ved brug af ESCAPE knappen. Dette skyldes at løkkerne i programmet blokerer for trykket efter at lydsensoren har registreret lyden.
```Java
import lejos.nxt.*;
import lejos.util.Delay;
/**
* The locomotions of a LEGO 9797 car is controlled by sound detected through a
* microphone on port 1.
*
* @author Ole Caprani
* @version 23.08.07
*/
public class SoundCtrCarFi {
private static int soundThreshold = 90;
private static SoundSensor sound = new SoundSensor(SensorPort.S1);
private static void waitForLoudSound() throws Exception {
int soundLevel;
Thread.sleep(500);
do {
soundLevel = sound.readValue();
LCD.drawInt(soundLevel, 4, 10, 0);
} while (soundLevel < soundThreshold);
}
public static void main(String[] args) throws Exception {
Button.ESCAPE.addButtonListener(new ButtonListener() {
@Override
public void buttonPressed(Button b) {
}
@Override
public void buttonReleased(Button b) {
Car.stop();
LCD.clear();
LCD.drawString("Program stopped", 0, 0);
Delay.msDelay(2000);
System.exit(0);
}
});
LCD.drawString("dB level: ", 0, 0);
LCD.refresh();
while (true) {
waitForLoudSound();
LCD.drawString("Forward ", 0, 1);
Car.forward(100, 100);
waitForLoudSound();
LCD.drawString("Right ", 0, 1);
Car.forward(100, 0);
waitForLoudSound();
LCD.drawString("Left ", 0, 1);
Car.forward(0, 100);
waitForLoudSound();
LCD.drawString("Stop ", 0, 1);
Car.stop();
}
}
}
´´´
*Video 3: SoundCtrCar.java demonstration med program-Escape* *Video 3: SoundCtrCar.java demonstration med program-Escape*
[![image alt text](http://img.youtube.com/vi/Qyjo4VAc5tE/0.jpg)](http://www.youtube.com/watch?v=Qyjo4VAc5tE) [![image alt text](http://img.youtube.com/vi/Qyjo4VAc5tE/0.jpg)](http://www.youtube.com/watch?v=Qyjo4VAc5tE)
... ...
......