- 追加された行はこの色です。
- 削除された行はこの色です。
"&size(40){ロボット課題3};"
#contents
*設計 [#gbe63518]
**車体 [#p3f5477d]
#ref(CIMG0938.JPG)
#ref(CIMG0939.JPG)
#ref(CIMG0940.JPG)
#ref(CIMG0941.JPG)
***問題点 [#v4df64ed]
**センサー [#z64a52ae]
***問題点 [#l4562013]
*プログラム [#qc3c2d87]
**1.懐中電灯に向かって投げる [#ee210217]
#define TURN_TIME 400 //1周の時間を設定
#define throw OnFwd(OUT_A);Wait(1);Off(OUT_A); //投げるときの定義
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT); // センサ−1をライトセンサーと設定
SetPower(OUT_C,2); //モーターCの出力を制限
int light_max=0; //光の最大値
int t_max=0; //最大値のときの時間
ClearTimer(0); //タイマーを0にして
OnFwd(OUT_C); //探し始めます
while(FastTimer(0)<TURN_TIME){ //回っている間
if(SENSOR_1>light_max) //最大値の光を見つけたら
{
light_max=SENSOR_1; //最大値の光と設定
t_max=FastTimer(0); //タイマーを入れる
}
}
Off(OUT_C);
Wait(50);
OnFwd(OUT_C);
Wait(t_max); //最大値の光までまわる
Off(OUT_C);
throw //投げる
}
作成者:竹
**2.懐中電灯に近づいて投げる [#r1be70c8]
#define TURN_TIME 400 // 1周の時間を設定
#define throw OnFwd(OUT_A);Wait(1);Off(OUT_A); // 投げるときの定義
#define straight Off(OUT_C);Wait(10);OnFwd(OUT_C);Wait(20);OnRev(OUT_C);Wait(20); // 近づくときの定義
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT); // センサ−1をライトセンサーと設定
SetPower(OUT_C,2); //モーターCの出力を制限
int light_max=0; //光の最大値
int t_max=0; //最大値のときの時間
ClearTimer(0); //タイマーを0にして
OnFwd(OUT_C); //探し始めます
while(FastTimer(0)<TURN_TIME){ //1周しているとき
if(SENSOR_1>light_max){ //最大値の光にあったら
light_max=SENSOR_1; //最大値の光と設定
t_max=FastTimer(0); //最大値の光のところまでの時間をはかる
}
}
Off(OUT_C);
Wait(50);
OnFwd(OUT_C);
Wait(t_max); //最大値の光まで回って
Off(OUT_C);
straight //近づいて
throw //投げる
}
作成者:
*感想 [#vf513274]
**竹 [#udfb96b2]
前回の課題よりは難しくなかったですが、タイマーを使ったプログラムは初めてだったのでちょっと大変でした。
また移動させるためのモーター一つというのも難しい課題でした。
** [#rc28ad64]
*コメント [#s84efe2d]
お願いします。
#comment