NXT 1.0 に leJOS をインストールしたところ、問題なく動作しました。Eclipse を使用してコードを記述し、ブロックにアップロードしています。私が持っている唯一の問題は、ブロックが私のコードを完全に無視することです:
import lejos.nxt.*;
public class Drive {
public static void main(String[] args) throws Exception {
TouchSensor touch = new TouchSensor(SensorPort.S1);
SoundSensor sound = new SoundSensor(SensorPort.S3);
Motor.A.setSpeed(1000);
Motor.B.setSpeed(1000);
Motor.A.forward();
Motor.B.forward();
/*try{
Thread.sleep(10000);
} catch (Exception e) {}
*/
if (touch.isPressed()) {
Motor.A.flt();
Motor.B.flt();
LCD.drawString("Done", 3, 4);
NXT.shutDown();
} else {
Motor.A.forward();
Motor.B.forward();
}
Button.waitForPress();
Button.waitForPress();
プログラムが実際に何をするかを確認できるように、そこに を入れました。この構成で実行すると、ボタンを押すまで前進し続けます。コマンドのコメントを外すとThread.sleep()
、ロボットは待機するように割り当てた時間だけ移動し、停止します。どちらの場合も、タッチセンサーが押されるのを監視することを完全に無視します。サンプル プログラムはすべて動作しますが、ループが見つからなかったので、ループに問題があると思います。助けてくれる人はいますか?? もうありがとう