*光を追うプログラム01 [#z783e00a]
*光を追うプログラム01 [#o06ebc8f]
★制作者★子供の頃から神童
#define mi 659 //音を定義
#define fa 698
#define so 784
#define sol 831
#define ra 880
#define shi 988
#define Do 1047
#define re 1175
#define mil 1319
#define fal 1397
#define soy 1568
#define ral 1760
task play_music()
{
while(true)//音楽を繰り返し演奏
{
PlayTone(mi,40); Wait(40);
PlayTone(ra,40); Wait(40);
PlayTone(sol,40);Wait(40);
PlayTone(ra,40);Wait(40);
PlayTone(shi,40);Wait(40);
PlayTone(Do,40);Wait(40);
PlayTone(shi,40);Wait(40);
PlayTone(Do,40);Wait(40);
PlayTone(re,40);Wait(40);
PlayTone(mil,240);Wait(240);
PlayTone(soy,80);Wait(80);
PlayTone(mil,240);Wait(240);
PlayTone(ral,40);Wait(40);
PlayTone(soy,40);Wait(40);
PlayTone(mil,160);Wait(200);
PlayTone(mil,40);Wait(40);
PlayTone(re,40);Wait(40);
PlayTone(Do,40);Wait(40);
PlayTone(re,20);Wait(20);
PlayTone(Do,20);Wait(20);
PlayTone(ra,200);Wait(200);
PlayTone(Do,80);Wait(80);
PlayTone(ra,400);Wait(500);
}
}
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);//*センサーが光センサー であることを定義*
SetSensor(SENSOR_3, SENSOR_LIGHT);//上と同じ
OnFwd(OUT_A+OUT_C+OUT_B);
while(true)//繰り返し
{
SetPower(OUT_A,2);
SetPower(OUT_C,2);
if(SENSOR_1>SENSOR_3-20&&SENSOR_1>50|| SENSOR_1-20> SENSOR_3 &&SENSOR_3>50 )//*どちらのセンサー*
{ //*も懐中電灯の光が当たっていると前進*
SetPower(OUT_A,4);
SetPower(OUT_C,6);
OnFwd(OUT_A+OUT_C);
Wait(100);
}
if(SENSOR_1<SENSOR_3&&SENSOR_1<50)//*左のセンサーに当たる光が弱いと時計回りに回転*
{
OnFwd(OUT_A);
OnRev(OUT_C);
}
if(SENSOR_1>SENSOR_3 &&SENSOR_3<50)//*右のセンサ−に当たる光が弱いと逆時計回りに回転*
{
OnFwd(OUT_C);
OnRev(OUT_A);
}
else//*センサーにあたる光が両方とも弱いと音楽をかけながら回転*
{
start play_music ;
SetPower(OUT_A,7);
SetPower(OUT_C,7);
OnFwd(OUT_A);
OnRev(OUT_C);
}
}
}