- 追加された行はこの色です。
- 削除された行はこの色です。
[[ロボティクス入門ゼミ]]
* 1. ハート形を描くロボット(必須) [#ja203e30]
* 1. ハート形を描くロボット(必須) [#x6719a60]
ロボットにペンを取り付けA3用紙にハート型を描くロボットを作成しなさい。
* 2. 台から落ちないロボット(必須) [#oc519a21]
* 2. 台から落ちないロボット(必須) [#b2e8e238]
机の上で動き回るロボットを作成しなさい。 ただし方向変換は机の端に来たときに行うこと。
* 3. ライントレースをするロボット(必須) [#ka4b75ad]
* 3. ライントレースをするロボット(必須) [#zdd24f1f]
できるだけ速いロボットを作成すること
* 4. 光を追いかけるロボット(必須) [#f0d0c927]
* 4. 光を追いかけるロボット(必須) [#a1d8a379]
まず最初に一回転してもっとも明るい方向(懐中電灯の方向)を探し、次に懐中電灯の光を追いかけて進むようなロボットを作成しなさい。
* 5. 演奏ロボット(必須) [#w1065bf5]
* 5. 演奏ロボット(必須) [#u5a3f68b]
インストラクション(説明書)の最後にある「Top Secret」を参考に、音楽を演奏しながら前進し障害物にぶつかったら(あるいは明るい光にあたったら)後退しながら方向を変えるロボットを作成しなさい。ただし移動のためのモータはひとつだけ使うものとし、また前進しているときと後進している時で違う音楽を演奏すること。
&br;
//演奏ロボット
//ドレミの定義
#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define Sol 784
#define La 880
#define Si 988
//音符の定義
#define x1 60
#define x2 20
#define x3 40
//休符の定義
#define y1 60
//方向転換の時間
#define turn_time 50
void Fwd_music() //前進しているときの音楽
{
PlayTone(Do,x1); Wait(y1);
PlayTone(Re,x2); Wait(y1);
PlayTone(Mi,x1); Wait(y1);
PlayTone(Do,x2); Wait(y1);
PlayTone(Mi,x3); Wait(y1);
PlayTone(Do,x3); Wait(y1);
PlayTone(Mi,x3); Wait(y1);
//演奏ロボット
//ドレミの定義
#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define Sol 784
#define La 880
#define Si 988
//音符の定義
#define x1 60
#define x2 20
#define x3 40
//休符の定義
#define y1 60
//方向転換の時間
#define turn_time 50
void Fwd_music() //前進しているときの音楽
{
PlayTone(Do,x1); Wait(y1);
PlayTone(Re,x2); Wait(y1);
PlayTone(Mi,x1); Wait(y1);
PlayTone(Do,x2); Wait(y1);
PlayTone(Mi,x3); Wait(y1);
PlayTone(Do,x3); Wait(y1);
PlayTone(Mi,x3); Wait(y1);
Wait(3*y1);
}
void Rev_music() //方向転換しているときの音楽
{
PlayTone(Re,x1); Wait(y1);
PlayTone(Mi,x2); Wait(y1);
PlayTone(Fa,x1); Wait(y1);
PlayTone(Re,x2); Wait(y1);
PlayTone(Fa,x3); Wait(y1);
PlayTone(Re,x3); Wait(y1);
PlayTone(Fa,x3); Wait(y1);
}
void Rev_music() //方向転換しているときの音楽
{
PlayTone(Re,x1); Wait(y1);
PlayTone(Mi,x2); Wait(y1);
PlayTone(Fa,x1); Wait(y1);
PlayTone(Re,x2); Wait(y1);
PlayTone(Fa,x3); Wait(y1);
PlayTone(Re,x3); Wait(y1);
PlayTone(Fa,x3); Wait(y1);
Wait(3*y1);
}
/////////ここからメインプログラム////////////
task main()
{
SetSensor(SENSOR_1, SENSOR_TOUCH); //タッチセンサーの定義
while(true) //以下のプログラムを繰り返す
{
OnFwd(OUT_C); //センサーが触れるまで音楽を鳴らしつつ前進
while(SENSOR_1 == 0)
{Fwd_music();}
until(SENSOR_1 == 1); //触れたら方向転換
OnRev(OUT_C);
ClearTimer(0); //タイマーをリセット
while(Timer(0) <= turn_time) //ターンしている間はターン用音楽を鳴らす
{Rev_music();}
Wait(turn_time); //ターンする時間の間、プログラムの進行を待つ
}
}
/////////メインプログラムここまで////////////
Wait(3*y1);
}
* 6. 二足歩行ロボット(自由) [#k07e378a]
* 7. その他(自由) [#k8542ede]
/////////ここからメインプログラム////////////
task main()
{
SetSensor(SENSOR_1, SENSOR_TOUCH); //タッチセンサーの定義
while(true) //以下のプログラムを繰り返す
{
OnFwd(OUT_C); //センサーが触れるまで音楽を鳴らしつつ前進
while(SENSOR_1 == 0)
{Fwd_music();}
until(SENSOR_1 == 1); //触れたら方向転換
OnRev(OUT_C);
ClearTimer(0); //タイマーをリセット
while(Timer(0) <= turn_time) //ターンしている間はターン用音楽を鳴らす
{Rev_music();}
Wait(turn_time); //ターンする時間の間、プログラムの進行を待つ
}
}
/////////メインプログラムここまで////////////
&br;
* 6. 二足歩行ロボット(自由) [#ka1be5fc]
* 7. その他(自由) [#fec70217]