#contents *メンバー紹介 [#b5242e4f] 今回のメンバーは我ら&size(20){''A7''};のエースこと&size(20){''新井田宏君''};と、ロボしか作れない私&size(20){''藤田裕介''};であります。 *今回の課題について [#ed926d78] 今回の課題は、&size(24){''懐中電灯に向かってブロックを投げるロボット''};です。 **課題となるプログラム [#t505a106] +++全方向から懐中電灯の方向を探しだし、懐中電灯に向けてブロックを投げる。懐中電灯は動かさない。 +++懐中電灯をゆっくり動かしたとき懐中電灯に向かって進む。 +++懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めればブロックを投げる。 **条件 [#nd2ce38c] +++重複しないように&size(18){1人1つ以上};のプログラムを作ること。 +++光センサ、タッチセンサ、モータは&size(18){2個まで};使用可能である。 *マシン紹介 [#c903fde1] &size(24){全体画像数枚}; **ベース [#saa9ecc4] &size(28){''マ''};シンのベースは資料やヒントをもとに作成しました。最初の予定ではタイヤを使ったマシンを作成するはずでした。 &size(28){''が、''};ターンがうまくいかなかったり、噛み合わせの悪さから耳障りな音が出てしまったりと走行させられるものではなかったため断念しました。 &size(28){''熟''};考した結果、キャタピラならばうまくいくのでは?という考えに至り早速作成することにしました。 &size(28){''し''};かし実際に走らせてみるとターンが遅く、耳障りな音も消すことがでした。またストッパーもうまく噛ませることが出来なかったため、これも断念しました。 &size(28){''ど''};うすればいいか分からなくなってしまったので、一個ずつ問題を解決していく形をとることにしました。そして下の写真のような過程を経てマシンのベースが完成しました。 &ref(./DSCF1373.JPG,10%);&size(20){''→''};&ref(./DSCF1381.JPG,10%);&size(20){''→''};&ref(./DSCF1397.JPG,10%); -苦労・工夫した点 --何とかしてギアの噛み合わせの悪さを改善するためにモーターにつけるギアの大きさを変え、それに取り付けるギアの間に物を挟むことでかみ合わせの悪さを改善しました。(赤丸参照) --次にモーターとギアの大きさに合わせてマシンのベースを作りました。幸いにもブロック2個分大きくなっただけで済んだため調節は簡単に出来ました。 --車体を部分を引きずらないように車輪を取り付けました。これによりマシンが左右に動くときの動作をスムーズにすることができました。 --タイヤにするかキャタピラにするかかなり迷いました。しかし、タイヤにしたほうが車輪などのパーツが使えターンをする事が容易になると考えタイヤにすることに決めました。 **アーム [#e7cf19ac] &size(20){''モ''};ータを1つ使い、アームを回転させることでブロックを投げる仕組みにしました。&br; &size(20){''ア''};ームの根元部分にはモータを組み合わせてアームが回転できるようにして、アームの先はブロックを置くことができるようにしてあります。&br; &size(20){''い''};ままで作ってきたものの中でもっともシンプルなものに仕上げることができました。 &ref(./DSCF1364.JPG,10%);&size(20){''→''};&ref(./DSCF1399.JPG,10%); -苦労・工夫した点 --ブロックを持たせる部分を、落ちにくくかつ投げやすい構造にしました。 --最初は1枚目の写真のような形したかったのですが、思ったよりブロックが飛ばなかったことと重くなってしまったことにより改良することにしました。 --改良点1 ギアをモーターに取り付けずに直接アームを取り付けました。これにより最初よりもブロックが飛ぶようになりました。 --改良点2 ブロックを乗せる部分を棒を取り付けるだけにして軽量化しました。 --モーターの回転でマシンから外れないように補強して本体に取り付けました。 **光センサー[#u0119ca5] 光センサを2つ組み合わせました。&br; 光センサを左右に間隔を開けて設置し、2つのセンサが受ける光量の違いを利用する仕組みです。 &ref(./DSCF1401.JPG,10%);&size(20){→};&ref(./DSCF1402.JPG,10%); &ref(./DSCF1407.JPG,10%); -苦労・工夫した点 --上方向から他の光が侵入してくるのを防ぐために&size(18){''傘''};のようなものを設置しました。 --左右のセンサーの反応をよくするため(両方のセンサが反応するのを防ぐ)ために&size(18){''ついたて''};を加えました。 --できるだけ左右対称にするようにしました。 **ロボットの総評 [#b29b146a] 今回のロボットはかなりよくできたと思います。ギアの微妙なずれや方向転換もうまく改善することができていたのでよかったと思いました。ただ、自分たちの班のロボットは直進することができません。中にはそれができるロボットを作った班もあったので、ホームページを見て作り方を見て作れるようになっておきたいと思います。ロボットの強度に少し不安を覚えました。ベースと本体との装着部分が少し外れやすくなってしまっています。ロボットを動かすモーターを一つしか使っていないため、できるだけ軽くシンプルに作り動作に支障がないようにしました。 &size(24){コメントに合わせて画像お願いします}; *プログラム [#edc72e59] **一人目 [#daaa0ef4] #define run_right OnFwd(OUT_A); #define run_left OnRev(OUT_A); #define THRESHOLD 70 int end_t ; sub throw() { OnFwd(OUT_B); Wait(30); Off(OUT_B); Wait(20); OnRev(OUT_B); Wait(30); Off(OUT_B); } task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); SetPower(OUT_A,7); SetPower(OUT_B,4); end_t = 0; while(end_t == 0){ if((SENSOR_1 < THRESHOLD)||(SENSOR_3 < THRESHOLD)){ if(SENSOR_1 < SENSOR_3){ run_left; } if(SENSOR_1 > SENSOR_3){ run_right; } } if((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD)){ ClearTimer(0); Off(OUT_A); if(FastTimer(0) > 200) PlaySound(SOUND_DOUBLE_BEEP); throw(); end_t = 1; } } } ---苦労・工夫した点 **二人目 [#h0181027] ---苦労・工夫した点 *感想 [#o1a1cdf4] -新井田 今回自分はプログラムをメインに担当しました。ロボット作成の方は案を少し出したくらいで、作るのはほぼ藤田君に担当してもらいました。 -藤田 *コメント [#p5808348] #comment