担当:いっせー
『全方向から懐中電灯の方向を探しだし、懐中電灯に向けてブロックを投げる。懐中電灯は動かさない。』という課題にそったプログラムを作成した。
#define THRESHOLD 65 //光の強さの境界を65に設定 #define RUN_TIME50 //今回は使用しない sub straight() //前進するためのプログラム。今回は使用しない { OnFwd(OUT_A); Wait(23); Off(OUT_A); OnRev(OUT_A); Wait(12); Off(OUT_A); } sub throw() //モノを投げるためのプログラム { Off(OUT_A); OnRev(OUT_C); Wait(20); Off(OUT_C); } task main () //課題1をこなすためのプログラム { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1を光センサーに設定 SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3を光センサーに設定 while((SENSOR_1<THRESHOLD)&&(SENSOR_3<THRESHOLD)){ //両方のセンサーが反応なしの時 OnRev(OUT_A); //旋回 } while(SENSOR_1>=THRESHOLD) { //センサー1が反応したとき Off(OUT_A); OnFwd(OUT_A); Wait(20); //向きを調節。少し右を向く throw(); //投げる } while(SENSOR_3>=THRESHOLD){ //センサー3が反応した時 Off(OUT_A); OnRev(OUT_A); Wait(10); //向きを調節。少し左を向く throw(); //投げる } while((SENSOR_1>=THRESHOLD)&&(SENSOR_3>=THRESHOLD)) { //両方のセンサーが反応したとき Off(OUT_A); throw(); //投げる } }
●今後の作課題を楽にするためサブルーチンを積極的に活用した。
●この段階では特になし。
●光が当たっても、反応しない時がある。旋回速度が早すぎるのだろうか?
●他の班をみていると関数や変数(?)を使用しているところがある。研究して利用してみたい。
●とりあえず課題はこなせた。時間があったらさらに高度なプログラムに挑戦したい。