leJOS 0.8.5 で超音波センサーが動かない -> ポート4以外に接続で動く
=========================================================
leJOS 0.8.5 を使うと、超音波センサーからの値(getDistance()
メソッドの返り値)がつねに 255 のままになる。なぜだろう?
PC の環境は以下のとおり。
WindowsXP SP2
JavaSE1.6
leJOS のフォーラムには、以下の記事があった。
「.8.5 on NXT2.0- Ultrasonic/Color Sensor don't return
values.」
http://lejos.sourceforge.net/forum/viewtopic.php?t=1706
これによると、超音波センサーだけではなく、色センサーでも
同じ現象が起きているようだ。
この現象の対処は、ポート4 ではなく、別のポートにセンサー
をつなげればよい。
上記のプログラムも、ポート4 以外につなげたところ、センサー
は働くことを確認できた。
なお、NXT に、leJOS 0.8.0 に入れなおしたところ、超音波
センサーからの値はちゃんと読み取れるようになった。
ちなみに、このプログラムは leJOS 0.6.0、leJOS 0.7.0 のい
ずれでも動作する。
確認プログラムは以下のとおり。
以上
=========================================================
leJOS 0.8.5 を使うと、超音波センサーからの値(getDistance()
メソッドの返り値)がつねに 255 のままになる。なぜだろう?
PC の環境は以下のとおり。
WindowsXP SP2
JavaSE1.6
leJOS のフォーラムには、以下の記事があった。
「.8.5 on NXT2.0- Ultrasonic/Color Sensor don't return
values.」
http://lejos.sourceforge.net/forum/viewtopic.php?t=1706
これによると、超音波センサーだけではなく、色センサーでも
同じ現象が起きているようだ。
この現象の対処は、ポート4 ではなく、別のポートにセンサー
をつなげればよい。
上記のプログラムも、ポート4 以外につなげたところ、センサー
は働くことを確認できた。
なお、NXT に、leJOS 0.8.0 に入れなおしたところ、超音波
センサーからの値はちゃんと読み取れるようになった。
ちなみに、このプログラムは leJOS 0.6.0、leJOS 0.7.0 のい
ずれでも動作する。
確認プログラムは以下のとおり。
--- import lejos.nxt.Button; import lejos.nxt.LCD; import lejos.nxt.Sound; import lejos.nxt.UltrasonicSensor; public class USSensor01 { public static void main(String[] args) { // 超音波センサーオブジェクトをポート4で生成する。 UltrasonicSensor ultrasonicSensor = new UltrasonicSensor(SensorPort.S4); while (!Button.ESCAPE.isPressed()) { LCD.refresh(); // 超音波センサーの値の表示 LCD.drawString("US = " + ultrasonicSensor.getDistance(), 0, 3); } Sound.pause(1000); } } ---
以上
※コメント投稿者のブログIDはブログ作成者のみに通知されます