[[2006a/C4]]

*課題3 光を追いかけるロボット [#u80c6f5f]
#contents


**ロボットの特徴 [#z504a700]
-ベースはテキストに載っているものを使用&br;
-光センサを一個搭載させている&br;
**ロボットの製作過程 [#x70a809e]
-6月30日:課題2のロボットを分解しつつ、課題3のロボットの構成を考える。&br;課題3はプログラムが重要と判断し、ロボットはとりあえずテキストに載っているベースを使用したものにする。&br;
-7月1日:光センサを二個搭載させたロボットが完成する。&br;光センサを二個用いたプログラムが完成しないため、光センサを一個にしたロボットにする。&br;
-7月5日:再び光センサを二個搭載させたものにする。

**プログラムの製作過程 [#ja243433]
-6月30日:光を追いかけるにはどうすればいいか考える。この日はまったく見当がつかず、終了する。&br;
-7月1日:Timer,whileを使用したプログラムを考えてみる。光センサを二個用いたプログラムが完成せず、やむを得ず光センサを一個にしてプログラムを考える。&br;何度か調整をした結果、光を追いかけるプログラムが完成する。&br;
-7月2日:曲のプログラムの製作に取り掛かる。著作権の問題などあるので民謡にすることにする。&br;いろいろ考えた結果、簡単な「かえるの歌」に決定する。&br;
1時間のしないうちに「かえるの歌」の試作プログラムが完成する。音の高さや鳴らす時間を調整し、納得するものになる。&br;
-7月3日:(1)〜(4)の内(1)にし、そのプログラムの製作に取り掛かる。光を追いかけるプログラムと曲のプログラムをmixさせる。&br;
(1)は難なく完成する。この勢いで(4)の条件を加えた(1)のプログラムの製作に取り掛かる。&br;
しかし、なかなかうまくいかず行き詰る。
-7月4日:光を追いかけるプログラムを変更する。while(true)を用いたものに改良する。&br;
なんとか(4)の条件を組み込んだプログラムが完成する。&br;
-7月5日:時間に余裕ができたため、光センサを二個用いたプログラムを考える。&br;
-7月5日:時間に余裕ができたため、光センサを二個用いたプログラムを考える。&br;(1)での条件のプログラムは完成する。


**曲のプログラム [#f661289c]
-「かえるの歌」をハ長調で演奏するプログラム

 製作日:7月2日
 製作者:コミ
 ==============
 #define Do 523
 #define Re 587
 #define Mi 659
 #define Fa 698
 #define So 784
 #define Ra 880
 
 task play_music()
 {
    while(true)
    {
        PlayTone(Do,25); Wait(30);    //鳴らす時間を設定
        PlayTone(Re,25); Wait(30);  //また音が繋がらない
        PlayTone(Mi,25); Wait(30);  //ようにWaitを使って
        PlayTone(Fa,25); Wait(30);  //調整している
        PlayTone(Mi,25); Wait(30);
        PlayTone(Re,25); Wait(30);
        PlayTone(Do,25); Wait(60);
        
        PlayTone(Mi,25); Wait(30);
        PlayTone(Fa,25); Wait(30);
        PlayTone(So,25); Wait(30);
        PlayTone(Ra,25); Wait(30);
        PlayTone(So,25); Wait(30);
        PlayTone(Fa,25); Wait(30);
        PlayTone(Mi,25); Wait(60);
        
        PlayTone(Do,25); Wait(60);
        PlayTone(Do,25); Wait(60);
        PlayTone(Do,25); Wait(60);
        PlayTone(Do,25); Wait(60);
        
        PlayTone(Do,12); Wait(15);
        PlayTone(Do,12); Wait(15);
        PlayTone(Re,12); Wait(15);
        PlayTone(Re,12); Wait(15);
        PlayTone(Mi,12); Wait(15);
        PlayTone(Mi,12); Wait(15);
        PlayTone(Fa,12); Wait(15);
        PlayTone(Fa,12); Wait(15);
        
        PlayTone(Mi,25); Wait(30);
        PlayTone(Re,25); Wait(30);
        PlayTone(Do,25); Wait(60);
     }
 }
**光源を見失った時には曲を演奏しながら旋回して光源を探すプログラム [#s5650bc4]

**工夫した点 [#wb2eb2e5]


**最初のプログラムに『光源に近づき過ぎると停止する』を追加したプログラム [#zdda218b]

**工夫した点 [#n7bd3cba]

**残っている問題点 [#l462917f]
-走らせる環境によっては光源を見つけられないか、そのままずっと真っ直ぐ走り続けてしまう点。(光センサ一個の場合)&br;

**反省点 [#u8a7a898]
-課題3の締め切り期間が一週間しかなかったため、プログラムにしか時間をかけることが出来なかった。&br;
なのでロボットには工夫もなにも無いものになってしまった。
-ロボットにもっと工夫を凝らし、より良いものを作り上げたかった。
-自分(コミ)が作ったプログラムでは周りの環境で、うまくいったりいかなかったりするので、そのところを改良していきたい。
-ロボコン前の最後の課題というだけあり、プログラムの製作で何度も行き詰った。&br;
行き詰ることがわかっていたにも関わらず取り組みが遅かったことに反省...&br;


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS