[[2005/B7/課題3]] ☆左チーム☆(げんき&まさき&サイモン) [[プログラム>2005/B7/課題3プログラム(左チーム)]] ライントレースロボットのプログラム (センサー2個) ライントレースロボットのプログラム (センサー2個 モーター2個) 作成者//げんき 作成日//1月6日 #define THRESHOLD 42 // 閾値 task main () { SetSensor(SENSOR_1, SENSOR_LIGHT); //センサ端子1に接続されたセンサが //光センサであると宣言 SetSensor(SENSOR_3, SENSOR_LIGHT); //センサ端子3に接続されたセンサが //光センサであると宣言 while (true) { if (SENSOR_1 < THRESHOLD) // センサ1の値が閾値未満にならば { OnFwd(OUT_C); // モーターCを正回転 OnRev(OUT_A); // モーターAを逆回転 until (SENSOR_1 > THRESHOLD); // センサ1の値が閾値以上になるまで } if (SENSOR_3 < THRESHOLD) // センサ3の値が閾値未満ならば { OnFwd(OUT_A); // モーターAを正回転 OnRev(OUT_C); // モーターCを逆回転 until (SENSOR_3 > THRESHOLD); // センサ3の値が閾値以上になるまで else // それ以外 { OnFwd(OUT_C+OUT_A); // 前進 } } } *工夫した点 [#bf79531d] -センサーの位置を線の太さにあわせてライントレースしやすくしました。 -プログラムをなるべくシンプルなものにしました *苦労した点 [#e810cc3b] この課題は特に苦労した点はありませんでした。強いて言うならば、コースの難しさに少し手間取りました。 *反省点 [#g68f0bdc] もう少しコースを簡単にしとけばよかったと後悔しています。 *感想 [#t2b18d6e] センサーが二個の場合は案外らくにできました。ただコースを難しくしてしまったために少し時間がかかったところがありました。 *ライントレースロボット(センサー1個) [#t6f06455] #define THRESHOLD 42 // 閾値 *ライントレースロボット(センサー1個 モーター1個) [#t6f06455] モーターが1個のロボットは完成しませんでしたが、一応取り組んだ上での感想を書きますm(_ _)m task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); // センサ端子1に接続されたセンサが // 光センサであると宣言 while(true) { if(SENSOR_1 < THRESHOLD); //センサ1が閾値未満ならば { Off(OUT_B); //モーターBを停止 OnFwd(OUT_B); //モーターBを正回転 } if(SENSOR_1 > THRESHOLD); //センサ1が閾値以上ならば { Off(OUT_B); //モーターBを停止 OnRev (OUT_B); //モーターBを逆回転 } } } *工夫した点 [#ade94c1b] -モーター1個でジグザグに進む動くロボットを工夫してつくりました。 *苦労した点 [#ld279dd6] なぜか途中で暴走してライントレースをやめてしまうことがあり、これを直すのに結構苦労しました *感想 [#b45a1c1b] モーターが2個の時と比べて、モーターが1個の時はだいぶ苦労しました。まず、モーター1個で動くロボットを作るのに苦労し、そしてプログラムも最初は結構苦労しました。 [[ロボット写真>2005/B7/課題3写真(左チーム)]] 鉄砲でしょうか?? ↓↓↓↓↓↓↓ #ref(2005/B7/課題3コース(左チーム)/DSCN3253.JPG,50%,左チームのコース); [[走るコース>2005/B7/課題3コース(左チーム)]] [[感想>2005/B7/課題3感想(左チーム)]] [[戻る>2005/B7]]