†1全方向から光を探して、光の方向へブロックを投げるロボットを作れ。光を探したら、懐中電灯の30cm以内に近づかない範囲でブロックを投げる。2懐中電灯をゆっくり動かしたとき光に向かって進み、一定の距離まで近づいて懐中電灯を狙ってブロックを投げるロボットを作れ。右側と左側のギアの数を、奇数と偶数にする作業が大変でした。両側のギアの数を揃えてしまうと、下の写真のディファレンシャルギアをつけたロボットでは両輪が一緒に前進したり、後進する動きしかできなくなるため、回転できなくなってしまうからです。奇数偶数にすることによって回転できるし、前進もOnFwdとOnRevを繰り返すことで可能になります。円滑に回転をするように前輪を一つにして三輪型ロボットにしました。したことも工夫の一つです。電池を代えたばかりで、ギアを止めるためのストッパーが抑えきれなくなることがたびたびあったので、あまり動くことのないように隙間を狭くしました。光センサーは右側と左側の間にブロックをつけることで表面から浴びる光のみ反応するようにしました。今回はロボットの製作に時間がかかり大変でした。ギアを付けるところはなかなかギア同士がかみ合わなくて何度も作りなおしました。「ロボットの工夫」のところにも書きましたが、前輪を付けるにあたっても回転の円滑さを優先したかったので、そこも苦労しました。ロボット製作の担当が僕かおりんで、プログラムを主にスガが担当していたので、効率よく動けていたと思います。得意でなかったロボット製作やプログラミング作りに一生懸命取り組むことができたのでよかったです。「かおりん」モーターが一つしかなく前進させるためのプログラムが大変でした。真っ直ぐに進むことができずに何度も試しました。光センサーの値を二つ定めたらプログラムを簡単にすることができました。†コメントよろしくお願いします。22:26:54かおりんさんのプログラム、インデントをいれて見やすくしていただきたいです。ロボットについて、「ギアの数を、奇数と偶数にする作業が大変でした」とのことですが、なぜ奇数と偶数にしたのか、またそうするとどのように動くのかの説明が欲しいです。04:30:13ディファレンシャルギアを装備したために、ギアの数をずらしました。17:31:36松本先生曰く、今回の課題は絶対的に明るい方向を探すのではなく、変数を用いて相対的に最も明るい方向を探す課題だそうです。一つ目のプログラムだと、懐中電灯に近い方向にも投げてしまう恐れがあります。13:26:38更新しました。評価をよろしくお願いします。00:02:47ディファレンシャルギアの説明が丁寧になっていて良いです。おりんさんのプログラムについて、光の最大値を求めるあたりが少し怪しいです。一度「右25、左25」という光を察知したとき、hikari_max=SENSOR_1+SENSOR_3でhikari_maxは50になってしまいますので、その後「右30、左30」の光を察知しても、より強い光だと認識できません。スガさんのプログラムは、内側のwhile(true)のループから抜け出す条件がないので、無限ループになってしまっているのではないでしょうか?ちゃんと動くのか不安です。23:23:21松本先生がおっしゃってた、シンプルなプログラムを元に、光センサーを正面につけました。07:19:02更新しました。whileのところに条件をつけました。10:44:09一つ目のwhileを抜け出した時点で、(SENSOR_1=shoot)||(SENSOR_3=shoot)となっているので、その時に投げたいならifも2つめのwhileもいらず、throwとすればよいです。19:11:30お名前:コメントをお願いします。