- 追加された行はこの色です。
- 削除された行はこの色です。
[[2007a/MemberOnly/進行状況A]]
/**/
#define MOTOR OUT_A+OUT_C //
#define THRESHOLD 40 //
#define THRESHOLD 40 // 闘値を設定
#define RUN_TIME 150 //
#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define Sol 784
task play_music()
{
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);
SetSensor(SENSOR_3,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
start play_music ;
SetSensor(SENSOR_1,SENSOR_LIGHT);// センサ1が光センサであることを定義
SetSensor(SENSOR_3,SENSOR_LIGHT);// センサ3が光りセンサであることを定義
SetSensor(SENSOR_2,SENSOR_TOUCH);// センサ2がタッチセンサであることを定義
while(true){
if(SENSOR_2 == 1){
if(SENSOR_1 > THRESHOLD){
if(SENSOR_3 > THRESHOLD){
OnFwd(MOTOR);
} else {
OnFwd(OUT_A);
Off(OUT_C);
Off(OUT_C);// センサ1が反応(黒線から外れた)したとき、Aを進めCを止める
}
} else {
if(SENSOR_3 > THRESHOLD){
Off(OUT_A);
OnFwd(OUT_C);
OnFwd(OUT_C);// センサ3が反応(黒線から外れた)したとき、Aを止めCを進める
}else{
OnFwd(MOTOR);
Wait(35);
Off(MOTOR);
Wait(20);
Off(MOTOR);// 2つの光センサが黒線上にあるとき2秒前進する
}
}
until(SENSOR_2 == 1);
OnRev(MOTOR);
Wait(30);
Off(MOTOR);
}
}