†このプログラムは、光源を見失った時には曲を演奏しながらぐるっと旋回して光源を探すプログラムです。マシンの状態はセンサー二つの時を想定して作りました。曲目は「ねこふんじゃった」です。このプログラムでの「旋回」というのは、一度完全に一周するのでなく、一定値以上の明るさの部分を見つけたらその方向にむかって進むようになっています。今回閾値は定数を用いずに初回起動時にセンサーが受信したセンサー値を基準にしています。これは、そのプログラムを起動する場所というのは常に同じ明るさの場所で起動することはなく、必ず周囲の明るさが変化するためです。場所によって変化する明るさに対応出来るように一度周囲の明るさをセンサーを介して入力し、左右のセンサーで平均を取ることでより安定した動きを出来るだろう、と考えたためです。プログラムをみると「3/5」と平均になっていません。これは、完全に平均にしてしまうと、周囲の明るさでほんの少し明るくなったところをライトの明かりと勘違いしないようにするために平均より多少高いところに閾値を設定しようと思ったからです。センサー反応の条件は、今回多少複雑化してしまいました。センサーがどちらも閾値以下になった場合、三つの可能性があります。それは、ライトが左側に逃げたか、上に逃げたか、右側に逃げたか、の三つです。上に逃げたのは追いかけようがありません。左側にライトが逃げたとしたら左側に旋回したほうがより早くライトの居場所を見つけられるはずです。同じように右側に逃げたライトは右側に旋回した方がより早く見つけられます。そのため、どちらのセンサーも閾値以下になった瞬間、一度左右の値を比較して大きい方に旋回するようにしました。旋回しないときでも直進以外に左旋回・右旋回をする必要があります。そのため、直進するサブルーチン内でもう一度どちらにライトがあるか認識品柄進むようにしています。このプログラムは旋回時のみ音楽を流すプログラムなので、旋回するサブルーチン内で再生するように設定して、どちらか一方のセンサーがライトに反応するまで、サブルーチンから抜けないよう、until文で足止めしています。ほうが多分いいですね。10:16:25スペルミスのご指摘ありがとうございます。前回のプログラムでもチームメイトに指摘されておりましたが、また間違えたようです。あと、プログラムに関してご指摘頂けるとうれしいのでお願いします。