- 追加された行はこの色です。
- 削除された行はこの色です。
[[2007a/MemberOnly/進行状況A]]
*ライン・トレース・ロボット [#z3a0f3c5]
黒い線に沿って走るロボットを作成した。A4Rの班と、一つのコースで二つのロボットが走るコースを作った。
*ロボット紹介 [#k75fc585]
タッチセンサーの下に光センサーを取り付けたロボット。
#ref(2007a/A4/課題2左/TS3C0001.JPG)
*苦労した点 [#u66b42a9]
タッチセンサーと光センサーを同じ場所に取り付けるのに苦労した。光センサーが地面に近すぎると、うまく明るさを認識できずに走らなかったり、遠すぎるとずっと走り続けたりした。最終的にはちょうど良い位置(地面から5センチくらい)を見つけることができた。
*プログラム [#c3f2ae2f]
#define THRESHOLD 40
#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define Sol 784
task play_music() // 走行時に鳴る音楽のプログラム
{
while(true)
{
PlayTone(Mi,25); Wait(15);
PlayTone(Re, 5); Wait(5);
PlayTone(Do,15); Wait(10);
PlayTone(Re,15); Wait(10);
PlayTone(Mi,15); Wait(10);
PlayTone(Mi,15); Wait(10);
PlayTone(Mi,35); Wait(20);
PlayTone(Re,15); Wait(10);
PlayTone(Re,15); Wait(10);
PlayTone(Re,35); Wait(20);
PlayTone(Mi,15); Wait(10);
PlayTone(Sol,15); Wait(10);
PlayTone(Sol,35); Wait(20);
PlayTone(Mi,25); Wait(15);
PlayTone(Re, 5); Wait(5);
PlayTone(Do,15); Wait(10);
PlayTone(Re,15); Wait(10);
PlayTone(Mi,15); Wait(10);
PlayTone(Mi,15); Wait(10);
PlayTone(Mi,35); Wait(20);
PlayTone(Re,15); Wait(10);
PlayTone(Re,15); Wait(10);
PlayTone(Mi,25); Wait(15);
PlayTone(Re, 5); Wait(5);
PlayTone(Do,55); Wait(30);
}
}
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT); // センサー1は光センサーである
SetSensor(SENSOR_3,SENSOR_TOUCH); // センサー3はタッチセンサーである
while(true)
{
start play_music; // 音楽スタート
if(SENSOR_1<THRESHOLD) { // センサー1が40以上なら
OnFwd(OUT_A);
Off(OUT_C);
}
else // それ以外
{
Off(OUT_A);
OnFwd(OUT_C);
}
until (SENSOR_3==1); // センサー3が反応したとき
Off(OUT_A+OUT_B);Wait(270);
stop play_music; // 音楽停止
}
}
*感想 [#c0c44a14]
黒い線が光に反射してしまい、練習ではうまくセンサーが線を認識できずに大変だった。
音楽の鳴らすタイミングのプログラムがなかなか上手くできなくrて少し苦労した。
音楽の鳴らすタイミングのプログラムがなかなか上手くできなくて少し苦労した。
*コメントをどうぞ [#ja4dc233]
-もう少し"過程"の説明があると面白い物に仕上がると思います。 -- [[ヒロヤ]] &new{2007-06-21 (木) 13:02:08};
#comment