[[2009b]] #contents 作成中です *課題3 [#vc5171e0] ~ 懐中電灯に向かってブロックを投げるロボットを作ろう! *チーム [#jcf2f834] チーム名「自由気ままにB級人生(仮) 」~ A: B: C: *ロボット [#k8d080ba] before &ref(./GetAttachmentb.jpg,サイズ,画像の説明); &ref(./GetAttachmenta.jpg,サイズ,画像の説明); &ref(./c.jpg,サイズ,画像の説明); after &ref(./d.jpg,サイズ,画像の説明); *プログラム [#hb34a8d7] *A改めシンゴのプログラム [#p76bd8b2]〜 [#b863026f] #define THRESHOLD 35 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); while( (SENSOR_1 < THRESHOLD)||(SENSOR_3 < THRESHOLD) ) { OnFwd(OUT_B); Off(OUT_A); } repeat(3) { OnRev(OUT_A); Wait(30); OnFwd(OUT_A); Wait(30); } Off(OUT_A); OnFwd(OUT_B);Wait;(20); Off(OUT_B); OnFwd(OUT_C);Wait(20); Off(OUT_C); } *B改めまさやのプログラム [#v239ebf9] 「7秒以上追尾できたら懐中電灯に向かってブロックを投げる。」を担当 #define hit OnFwd(OUT_A);Wait(38);Off(OUT_A); //ブロックを打つ動作 #define revolver OnFwd(OUT_C);Wait(184);Off(OUT_C);//リボルバーを90度回す #define turn_r OnFwd(OUT_B); //右折 #define turn_l OnRev(OUT_B); //左折 #define shine 60 //光の明るさ #define run_time 700 //光を追う時間 #define keep Off(OUT_B); //停止 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); //光センサー1を決める SetSensor(SENSOR_3, SENSOR_LIGHT); //光センサー3を決める while(true){ if((SENSOR_1 < shine)&&(SENSOR_3 < shine)){ //両方の光センサーが暗いとき turn_l; //左に回って光を探す until((SENSOR_1 > shine)||(SENSOR_3 > shine)); //どちらかの光センサーが光を見つけるまで keep;Wait(10); //見つけたら停止 } ClearTimer(0); //タイマーをクリア while(((SENSOR_1 > shine)||(SENSOR_3 >shine))&&(FastTimer(0) < 700)){ if((SENSOR_1 > shine)&&(SENSOR_3 < shine)){ //左側に光がある時 turn_l; //左に曲がって光を追う until((SENSOR_1 > shine)&&(SENSOR_3 > shine));//正面に光が来るまで keep;Wait(10); //正面に来たら停止 } if((SENSOR_1 < shine)&&(SENSOR_3 > shine)){ //右側に光がある時 turn_r; //右に曲がって光を追う until((SENSOR_1 > shine)&&(SENSOR_3 > shine));//正面に光が来るまで keep;Wait(10); //正面に来たら停止 } if((SENSOR_1 > shine)&&(SENSOR_3 > shine)){ //正面に光がある時 keep; //停止 } } PlaySound(SOUND_UP); //7秒光を追えたら音を鳴らす revolver;Wait(10); //リボルバーを回転 hit;Wait(10); //ブロックを打つ keep; //停止 } } なぜか懐中電灯の光を無視してしまうことがあり、7秒間光を追わせることが難しかったです。 *コメントのコーナー [#nd5b8867] コメントをどうぞ。 #comment