[[2005/C4]]
**左を書く [#gbd06e16]

int penstat=0;
task main()
{
	penon();
	OnRev(OUT_A+OUT_B);
	Wait(300);
	OnRev(OUT_A+OUT_B);Wait(300);
	penoff();
	Off(OUT_A);
	Wait(10);
	OnFwd(OUT_A+OUT_B);
	Wait(10);
	Off(OUT_A);
	Wait(10);
	Off(OUT_A);Wait(10);
	OnFwd(OUT_A+OUT_B);Wait(10);
	Off(OUT_A);Wait(10);
	penon();
	OnFwd(OUT_A);
	Wait(300);
	OnFwd(OUT_A);Wait(300);
	penoff();
	OnRev(OUT_A+OUT_B);
	Wait(100);
	OnRev(OUT_A+OUT_B);Wait(100);
	Off(OUT_A+OUT_B);
	OnFwd(OUT_A);
	penon();
	OnFwd(OUT_B);
	Wait(100);
	OnFwd(OUT_B);Wait(100);
	penoff();
	OnRev(OUT_A+OUT_B);
	Wait(50);
	Off(OUT_A);
	Wait(80);
	OnRev(OUT_A+OUT_B);Wait(50);
	Off(OUT_A);Wait(80);
	penon();
	OnFwd(OUT_B);
	Wait(50);
	OnFwd(OUT_B);Wait(50);
	penoff();
	OnRev(OUT_B);
	Wait(80);
	OnRev(OUT_A);
	Wait(80);
	OnRev(OUT_B);Wait(80);
	OnRev(OUT_A);Wait(80);
	penon();
	OnFwd(OUT_A);
	Wait(100);
	OnFwd(OUT_A);Wait(100);
	penoff();
	Off(OUT_A+OUT_B);
}
sub penon(){
        if(penstat!=1){
                //Write
                SetPower(OUT_C,3);
                OnFwd(OUT_C);
                Wait(20);
                Float(OUT_C);
                penstat=1;
                Wait(50);
        }
}

sub penoff(){
        if(penstat!=0){
                //Dont Write
                SetPower(OUT_C,4);
                OnRev(OUT_C);
                Wait(10);
                Float(OUT_C);
                penstat=0;
                Wait(50);
        }
}
コメントをどうぞ
#comment

**机の周りを移動する [#v12b9f15]

task main()
{
	SetSensor(SENSOR_1, SENSOR_TOUCH);
	SetSensor(SENSOR_3, SENSOR_TOUCH);
	
	OnFwd(OUT_A+OUT_C);
	while(true)
	{
	if((SENSOR_1 == 1) && (SENSOR_3 == 1)){
		OnRev(OUT_A+OUT_C); Wait(20);
		OnFwd(OUT_A); Wait(110);
		OnFwd(OUT_C);
	}
	
	if(SENSOR_1 == 0){
		Off(OUT_A); Wait(4);
		OnFwd(OUT_A);
	}
		
	if(SENSOR_1 == 1){
		Off(OUT_C); Wait(4);
		OnFwd(OUT_C);
		}
	}
}
コメントをどうぞ
#comment

**モーター1個 [#y64137b5]
task main()
{
	SetSensor(SENSOR_1, SENSOR_LIGHT);
	
	while(true){
		if(SENSOR_1 < 40){
			OnFwd(OUT_A);
		}else{
			OnRev(OUT_A);
		}
	}
}

**光を追いかける [#w4f9aa94]
int i;
int light_max=0;
int time_max=0;
task main()
{
	SetSensor(SENSOR_1,SENSOR_LIGHT);
	SetSensor(SENSOR_3,SENSOR_LIGHT);
	ClearTimer(0);
	for(i=1; i<=50; i++){
		OnFwd(OUT_A);Wait(10);
		Off(OUT_A);Wait(5);		
		if(SENSOR_1>light_max){
			light_max=SENSOR_1;
			time_max=Timer(0);
			}
		if(SENSOR_3>light_max){
			ligth_max=SENSOR_3;
			time_max=Timer(0);
			}
		}
	Off(OUT_A);Wait(50);
	OnRev(OUT_A);Wait(500-time_max);
	Off(OUT_A);Wait(50);
	while(true){
		if(SENSOR_1>=light_max){
			Off(OUT_A);
			OnFwd(OUT_C);
			}
		if(SENSOR_3>=light_max){
			OnFwd(OUT_A);
			Off(OUT_C);
			}
		}
}

**音楽を演奏する [#rf65616e]
task play_music()
{	
	while(true)
	{
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 293, SIXTEENTH_NOTE );
		Wait( SIXTEENTH_NOTE );
		PlayTone( 195, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 195, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 195, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 261, SIXTEENTH_NOTE );
		Wait( SIXTEENTH_NOTE );
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 293, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 329, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 369, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 391, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 440, SIXTEENTH_NOTE );
		Wait( SIXTEENTH_NOTE );
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 293, SIXTEENTH_NOTE );
		Wait( SIXTEENTH_NOTE );
		PlayTone( 220, SIXTEENTH_NOTE );
		Wait( SIXTEENTH_NOTE );
		PlayTone( 195, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 184, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 164, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 293, SIXTEENTH_NOTE );
		Wait( SIXTEENTH_NOTE );
		PlayTone( 220, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 195, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 184, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 164, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 293, SIXTEENTH_NOTE );
		Wait( SIXTEENTH_NOTE );
		PlayTone( 220, SIXTEENTH_NOTE );
		Wait( SIXTEENTH_NOTE );
		PlayTone( 195, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 184, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 195, EIGHTH_NOTE );
		Wait( EIGHTH_NOTE );
		PlayTone( 164, SIXTEENTH_NOTE );
		Wait( SIXTEENTH_NOTE );
	}
}
		
task main()
{	
	start play_music;
	ClearTimer(0);
	while(Timer(0)<=100){SendMessage(1);}
	while(Timer(0)<=200){SendMessage(2);}
	while(Timer(0)<=300){SendMessage(3);}
	stop play_music;
}

**音楽に合わせて動く [#ceb1178c]
task main()
{
	while(true)
	{
		ClearMessage();
		until(Message()!=0);
		if(Message()==1)
			OnRev(OUT_A+OUT_C);
		if(Message()==2)OnFwd(OUT_A);
		if(Message()==3)
			OnFwd(OUT_A+OUT_C);Wait(40);
			Off(OUT_A+OUT_C);
	}
}

**アームの上下 [#pfea4257]
#define A OUT_A
#define B OUT_B
 
 task main()
{
	ClearMessage();
	until(Message()!=0);
	
	if(Message()==1)
	{
	OnFwd(A);
	SetPower(A,OUT_LOW);
	Wait(100);
	Float(A);
	OnFwd(B);
	SetPower(B,OUT_LOW);
	OnRev(A);
	SetPower(A,OUT_LOW);
	Wait(100);
	Float(A);
	SendMessage(1);Wait(200);
	}

	if(Message()==2)
	{	
	OnFwd(A);
	SetPower(A,OUT_LOW);
	Wait(100);
	Float(A);
	OnRev(B);
	SetPower(B,OUT_LOW);
	OnRev(A);
	SetPower(A,OUT_LOW);
	Wait(100);
	Float(A);
	SendMessage(2);Wait(200);
	}
}


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