メンバー: 片岡、長谷川、征矢、野村
version 01
Last modified: 2003年2月7日(金)
[必須] ロボットに鉛筆またはペンを取り付け、 A3 用紙の上に ★型を描かせなさい (練習問題 3.3)。
task main() { repeat(5){ OnFwd(OUT_A+OUT_C); Wait(150) ; OnFwd(OUT_A) ; OnRev(OUT_C) ; Wait(135) ; } Float(OUT_A+OUT_C) ; }
工夫した点:
ペンをよりロボットの中心近くに取り付けられるように、組み立てました。
[必須] 机の上で動き回るロボットを作成しなさい。 ただし方向変換は机の端に来たときに行うこと (練習問題 4.2)。
task main() { SetSensor(SENSOR_1, SENSOR_TOUCH) ; while(true) { OnFwd(OUT_A+OUT_C) ; until (SENSOR_1 == 1) ; OnRev(OUT_A) ; Wait(100); OnFwd(OUT_A+OUT_C) ; } }
工夫した点:
ロボットが机から落ちそうになる前に、反応させるためにロボットの先端を長くして対応しました。
[必須] 前向きに光センサーを取り付けたロボットを作成し、 そのロボットがもっとも明るい方向 (例えば照らした懐中電灯の方向) を向くようにしなさい。 さらにそのロボットが、 懐中電灯の光を追いかけて進むようにプログラムを改良しなさい (練習問題 4.5.1, 4.5.2)
task main () { int light_time ; int Light_max=0 ; int time_max=0 ; SetSensor(SENSOR_1, SENSOR_LIGHT) ; while(true) { ClearTimer(0) ; OnFwd(OUT_A) ; while ( Timer(0) <= 10) { if (SENSOR_1 > Light_max) { Light_max=SENSOR_1 ; time_max=Timer(0) ; } } Off(OUT_A+OUT_C) ; Wait(100) ; OnFwd(OUT_A+OUT_C) ; Wait(250) ; Float(OUT_A+OUT_C) ; Wait(100) ; } }
工夫した点:
[必須] 明るいところでは、長調で、暗いところでは短調で、 曲を演奏するプログラムを作成しなさい (曲は何でもよい) (練習問題 5.2)。
task play_music1() { #define Do 523 #define Re 587 #define Mi 659 #define Fa 698 #define Sol 784 while (true) { PlayTone(Mi,25); Wait(30); PlayTone(Re, 5); Wait(10); PlayTone(Do,15); Wait(20); PlayTone(Re,15); Wait(20); PlayTone(Mi,15); Wait(20); PlayTone(Mi,15); Wait(20); PlayTone(Mi,35); Wait(40); PlayTone(Re,15); Wait(20); PlayTone(Re,15); Wait(20); PlayTone(Re,35); Wait(40); PlayTone(Mi,15); Wait(20); PlayTone(Sol,15); Wait(20); PlayTone(Sol,35); Wait(40); PlayTone(Mi,25); Wait(30); PlayTone(Re, 5); Wait(10); PlayTone(Do,15); Wait(20); PlayTone(Re,15); Wait(20); PlayTone(Mi,15); Wait(20); PlayTone(Mi,15); Wait(20); PlayTone(Mi,35); Wait(40); PlayTone(Re,15); Wait(20); PlayTone(Re,15); Wait(20); PlayTone(Mi,25); Wait(30); PlayTone(Re, 5); Wait(10); PlayTone(Do,55); Wait(60); Wait(20); } } task play_music2() { #define Do 262 #define Re 294 #define Mi 330 #define Fa 349 #define Sol 392 while (true) { PlayTone(Mi,25); Wait(30); PlayTone(Re, 5); Wait(10); PlayTone(Do,15); Wait(20); PlayTone(Re,15); Wait(20); PlayTone(Mi,15); Wait(20); PlayTone(Mi,15); Wait(20); PlayTone(Mi,35); Wait(40); PlayTone(Re,15); Wait(20); PlayTone(Re,15); Wait(20); PlayTone(Re,35); Wait(40); PlayTone(Mi,15); Wait(20); PlayTone(Sol,15); Wait(20); PlayTone(Sol,35); Wait(40); PlayTone(Mi,25); Wait(30); PlayTone(Re, 5); Wait(10); PlayTone(Do,15); Wait(20); PlayTone(Re,15); Wait(20); PlayTone(Mi,15); Wait(20); PlayTone(Mi,15); Wait(20); PlayTone(Mi,35); Wait(40); PlayTone(Re,15); Wait(20); PlayTone(Re,15); Wait(20); PlayTone(Mi,25); Wait(30); PlayTone(Re, 5); Wait(10); PlayTone(Do,55); Wait(60); Wait(20); } } task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); OnFwd(OUT_A+OUT_C); if(SENSOE_1 < 45){ stop play_music2; start play_music1; }else{ stop play_music1; start play_music2; }
工夫した点:
最初、長調と短調の意味がわからず、小学校のころまじめに音楽に取り組んでいればよかったと後悔してしまった。
[自由課題] 黒い線に沿って速く走るロボットを作成せよ (例題の改良)。
task main () { SetSensor(SENSOR_1, SENSOR_LIGHT); ClearTimer(0); while ( true ) { if (SENSOR_1 < 45) { OnFwd(OUT_A); Off(OUT_C); } else { OnFwd(OUT_C); Off(OUT_A); } } }
工夫した点:
速く進ませることがなかなかできなかった。