- 追加された行はこの色です。
- 削除された行はこの色です。
[[2005/C4]]
**左を書く [#gbd06e16]
int penstat=0;
task main()
{
penon();
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);
penon();
OnFwd(OUT_A);
Wait(300);
penoff();
OnRev(OUT_A+OUT_B);
Wait(100);
Off(OUT_A+OUT_B);
OnFwd(OUT_A);
penon();
OnFwd(OUT_B);
Wait(100);
penoff();
OnRev(OUT_A+OUT_B);
Wait(50);
Off(OUT_A);
Wait(80);
penon();
OnFwd(OUT_B);
Wait(50);
penoff();
OnRev(OUT_B);
Wait(80);
OnRev(OUT_A);
Wait(80);
penon();
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 light_max=0;
int time_max=0;
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
int i;
for(i=1; i<=50; i++){
OnFwd(OUT_A);OnRev(OUT_C);Wait(10);
Off(OUT_A+OUT_C);Wait(5);
if(SENSOR_1>light_max){
light_max=SENSOR_1;
time_max=Timer(0);
}
}
OnRev(OUT_A);OnFwd(OUT_C);
Wait(500-i*10);
OnFwd(OUT_C);
if(SENSOR_1>light_max){
}
}
sub turn_right()
{
OnFwd(OUT_A);OnRev(OUT_C);Wait(10);
Off(OUT_A+OUT_C);Wait(5);
if(SENSOR_1=light_max){
**アームの上下 [#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);
}
}