2017a/Member/kenji/Mission3
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
#contents
**²ÝÂꣳ¤Ë¤Ä¤¤¤Æ [#mb50bfa8]
¾Ü¤·¤¯¤Ï[[2017a/Mission3]]
**¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ [#n7d9dc68]
¤Ï¤¸¤á¤Ï¥¢¡¼¥àÉôʬ¤Ë¥¿¥¤¥ä¤ò¼è¤êÉÕ¤±¡¢¤½¤Î¥¿¥¤¥ä¤ò²óž¤µ¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ¶õ¤´Ì¤ò»ý¤Á¾å¤²¤ë¤È¤¤¤¦¥í¥Ü¥Ã¥È¤òºî¤Ã¤¿¤¬¡¢¤³¤ì¤À¤È°ÂÄꤷ¤Æ»ý¤Á¾å¤²¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤ê¡¢¥¢¡¼¥à¤È¾å²¼¤¹¤ëÉôʬ¤òÊ̤ˤ·¤¿¡£¤®¤¶¤®¤¶¤·¤¿Ä¹¤¤ËÀ¤È¤®¤¶¤®¤¶¤·¤¿±ßÈĤò¤«¤ß¹ç¤ï¤»¡¢¥â¡¼¥¿¡¼¤òÆ°¤«¤·¤Æ¥¢¡¼¥à¤ò¾å²¼¤µ¤»¤¿¡£
**¥×¥í¥°¥é¥ß¥ó¥° [#ta298043]
ÄêµÁ
#define go_forward OnFwd(OUT_AC);//Á°¿Ê
#define turn_right OnFwd(OUT_A);//±¦ÀÞ
#define turn_left OnFwd(OUT_C);//º¸ÀÞ
#define migisenkai OnFwd(OUT_A); OnRev(OUT_C);//±¦Àû²ó
#define hidarisenkai OnFwd(OUT_C); OnRev(OUT_A);//º¸Àû²ó
#define power(s) SetPower(OUT_AC,s); //¥â¡¼¥¿¡¼¤Î½ÐÎϤ¬Êѹ¹²Äǽ
#define sound1 PlaySound(SOUND_UP);
#define sound2 PlaySound(SOUND_DOWN);Wait(100);
#define GO(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC);//Á°¿Ê»þ´ÖÊѹ¹²Äǽ
#define SIGNALGRAB 100
#define SIGNALBACK 200
#define back(u) OnRev(OUT_AC); Wait(u); Off(OUT_AC);//¸åÂà»þ´ÖÊѹ¹²Äǽ
¥µ¥Ö¥ë¡¼¥Á¥ó
sub trace2()//¸òº¹ÅÀ¤ÎȽÃǤʤɤϲÝÂ궤λþ¤ÈƱÍÍ
{
ClearTimer(0);
while (FastTimer(0)<=25){
if (SENSOR_1 > 49){//±¦Àû²ó
migisenkai; ClearTimer(0);
} else if (SENSOR_1 > 44){//±¦ÀÞ
turn_right; ClearTimer(0);
} else if (SENSOR_1 > 40){//Á°¿Ê
go_forward; ClearTimer(0);
} else if (SENSOR_1 > 36){//º¸ÀÞ
turn_left; ClearTimer(0);
} else if (SENSOR_1 > 33){//º¸Àû²ó
hidarisenkai;//¥¿¥¤¥Þ¤ò¥ê¥»¥Ã¥È¤·¤Ê¤¤
}
}
Off(OUT_AC);
}
sub hidari1()
{
sound1;
go_forward;
Wait(20);
hidarisenkai;
Wait(40);
turn_left;
Wait(30);
}
sub hidari2()
{
sound2;
go_forward;
Wait(20);
hidarisenkai;
Wait(40);
turn_left;
Wait(30);
}
¥¿¥¹¥¯¥á¥¤¥ó
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
power(4);//¥â¡¼¥¿¡¼¤Î½ÐÎϤòÄ´À°¡£²ÝÂ궤λþ¤Ï0¤Ç¤¢¤Ã¤¿¤¬¡¢0¤Î¾ì¹ç¤Ç¤Ï½ÐÎϤ¬Â¤ê¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢Á°²ó¤Î²ÝÂê¤Î¤È¤¤è¤ê¤â½ÐÎϤò¹â¤á¤¿¡£
ClearMessage();
GO(100);//¥¹¥¿¡¼¥ÈÏȤ«¤éÁ°¿Ê
trace2();//A-F¶è´Ö
hidari1();//F¤òº¸ÀÞ
trace2();//F-Q¶è´Ö
hidari2();//Q¤òº¸Êý¸þ
trace2();//Q-R¶è´Ö
hidari1();//R¤òº¸ÀÞ¤·¡¢T¤Ë¸þ¤«¤¦
trace2();//R-T
GO(200);//Á°¿Ê¤·¤Æ¥´¡¼¥ë¤ÎÃæ¤ËÆþ¤ë
SendMessage(SIGNALGRAB);//¥´¡¼¥ë¤Î°ÌÃÖ¤ËÅþÃ夷¤¿¤³¤È¤òÃΤ餻¤ë¡£¥¢¡¼¥à¦¤Ï¤³¤ì¤ò¼õ¤±¼è¤Ã¤¿¤é¥¢¡¼¥à¤òÆ°¤«¤·¤Æ´Ì¤¬¥´¡¼¥ë¤ÎÎΰè¤ËÆþ¤ë¤è¤¦¤Ë¤¹¤ë
while(true){
until (Message() == SIGNALBACK);//SIGNALBACK¤ò¼õ¿®¤¹¤ë¤Þ¤ÇÂÔ¤Ä
back(300);//¸åÂह¤ë
}
}
¢¬
¥¢¡¼¥à¤Î¥×¥í¥°¥é¥à ¢÷
ÄêµÁÉôʬ
#define grab OnFwd(OUT_C); Wait(100); Off(OUT_C);//¥¢¡¼¥à¤Ç´Ì¤ò¤Ä¤«¤à
#define relese OnRev(OUT_C); Wait(100); Off(OUT_C);//¥¢¡¼¥à¤Ç´Ì¤òÎ¥¤¹
#define rift_up OnFwd(OUT_A); Wait(700); Off(OUT_A);//¥ê¥Õ¥È¤ò»ý¤Á¾å¤²¤ë
#define rift_down1 OnRev(OUT_A); Wait(200); Off(OUT_A);//¥ê¥Õ¥È¤ò¼¡¤Î´Ì¤Î¹â¤µ¤Þ¤Ç²¼¤²¤ë
#define rift_down2 OnRev(OUT_A); Wait(300); Off(OUT_A);//¥ê¥Õ¥È¤ò¼¡¤Î´Ì¤Î¤Ä¤«¤à¹â¤µ¤Þ¤Ç²¼¤²¤ë¡£¤Ä¤Þ¤ê¤Ï¤¸¤á¤Î¹â¤µ¤Þ¤Ç²¼¤²¤ë
#define SIGNALGRAB 100
#define SIGNALBACK 200
#define grab2(s) OnFwd(OUT_C); Wait(s); Off(OUT_C);//´Ì¤òÄϤà»þ´ÖÊѹ¹²Äǽ
#define relese(t) OnRev(OUT_C); Wait(t); Off(OUT_C);//´Ì¤òÎ¥¤¹»þ´ÖÊѹ¹²Äǽ
¥¿¥¹¥¯¥á¥¤¥ó
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH);//¥»¥ó¥µ¡¼1¤Ë¥¿¥Ã¥Á¥»¥ó¥µ
ClearMessage();
int count;//ÊÑ¿ô¤òÄêµÁ
count=0;
while (count<1){//count¤¬1̤Ëþ¤Î»þ¥ë¡¼¥×¤ËÆþ¤ë
ClearMessage();//Message¤ÎÃͤò0¤Ë½é´ü²½
if (Message() == SIGNALGRAB){//SIGNALGRAB¤ò¼õ¿®¤·¤¿¤écount¤Ë1¤¬Â¤µ¤ì¤ë¡£¼õ¿®¤·¤¿¤é¥ë¡¼¥×¤òÈ´¤±½Ð¤¹¡£
count++;
} else count = 0;//¤½¤¦¤Ç¤Ê¤±¤ì¤Ðcount¤Ï0
}
grab2(50);//´Ì¤ò¥´¡¼¥ëÆâ¤Ë¤Þ¤È¤á¤ë¤¿¤á¤Ë¥¢¡¼¥à¤òÆ°¤«¤¹
relese(70);//Â礤á¤Ë¥¢¡¼¥à¤ò³«¤¤¤Æ´Ì¤ò´°Á´¤ËÎ¥¤¹
SendMessage(SIGNALBACK);//¸åÂह¤ë¤è¤¦¤ËÅÁ¤¨¤ë¡£
**¤Þ¤È¤á [#f33b7819]
º£²ó¤Î²ÝÂê¤Ï¤È¤Æ¤âÆñ¤·¤«¤Ã¤¿¡£¥í¥Ü¥Ã¥È¤òºî¤ë¤Î¤Ë¤«¤Ê¤ê¤Î»þ´Ö¤òÈñ¤ä¤·¤Æ¤·¤Þ¤¤¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ò¹Í¤¨¤ë»þ´Ö¤¬Í¾¤ê¤È¤ì¤Ê¤«¤Ã¤¿¡£·ë²Ì¡¢ËÜÈ֤Ǥϻפ¤Ä̤ê¤ÎÆ°¤¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£»ÄÇ°¤À¤Ã¤¿¤¬³Ú¤·¤ó¤Ç¼è¤êÁȤ᤿¤Î¤ÇÎɤ«¤Ã¤¿¡£
½ªÎ»¹Ô:
#contents
**²ÝÂꣳ¤Ë¤Ä¤¤¤Æ [#mb50bfa8]
¾Ü¤·¤¯¤Ï[[2017a/Mission3]]
**¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ [#n7d9dc68]
¤Ï¤¸¤á¤Ï¥¢¡¼¥àÉôʬ¤Ë¥¿¥¤¥ä¤ò¼è¤êÉÕ¤±¡¢¤½¤Î¥¿¥¤¥ä¤ò²óž¤µ¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ¶õ¤´Ì¤ò»ý¤Á¾å¤²¤ë¤È¤¤¤¦¥í¥Ü¥Ã¥È¤òºî¤Ã¤¿¤¬¡¢¤³¤ì¤À¤È°ÂÄꤷ¤Æ»ý¤Á¾å¤²¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤ê¡¢¥¢¡¼¥à¤È¾å²¼¤¹¤ëÉôʬ¤òÊ̤ˤ·¤¿¡£¤®¤¶¤®¤¶¤·¤¿Ä¹¤¤ËÀ¤È¤®¤¶¤®¤¶¤·¤¿±ßÈĤò¤«¤ß¹ç¤ï¤»¡¢¥â¡¼¥¿¡¼¤òÆ°¤«¤·¤Æ¥¢¡¼¥à¤ò¾å²¼¤µ¤»¤¿¡£
**¥×¥í¥°¥é¥ß¥ó¥° [#ta298043]
ÄêµÁ
#define go_forward OnFwd(OUT_AC);//Á°¿Ê
#define turn_right OnFwd(OUT_A);//±¦ÀÞ
#define turn_left OnFwd(OUT_C);//º¸ÀÞ
#define migisenkai OnFwd(OUT_A); OnRev(OUT_C);//±¦Àû²ó
#define hidarisenkai OnFwd(OUT_C); OnRev(OUT_A);//º¸Àû²ó
#define power(s) SetPower(OUT_AC,s); //¥â¡¼¥¿¡¼¤Î½ÐÎϤ¬Êѹ¹²Äǽ
#define sound1 PlaySound(SOUND_UP);
#define sound2 PlaySound(SOUND_DOWN);Wait(100);
#define GO(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC);//Á°¿Ê»þ´ÖÊѹ¹²Äǽ
#define SIGNALGRAB 100
#define SIGNALBACK 200
#define back(u) OnRev(OUT_AC); Wait(u); Off(OUT_AC);//¸åÂà»þ´ÖÊѹ¹²Äǽ
¥µ¥Ö¥ë¡¼¥Á¥ó
sub trace2()//¸òº¹ÅÀ¤ÎȽÃǤʤɤϲÝÂ궤λþ¤ÈƱÍÍ
{
ClearTimer(0);
while (FastTimer(0)<=25){
if (SENSOR_1 > 49){//±¦Àû²ó
migisenkai; ClearTimer(0);
} else if (SENSOR_1 > 44){//±¦ÀÞ
turn_right; ClearTimer(0);
} else if (SENSOR_1 > 40){//Á°¿Ê
go_forward; ClearTimer(0);
} else if (SENSOR_1 > 36){//º¸ÀÞ
turn_left; ClearTimer(0);
} else if (SENSOR_1 > 33){//º¸Àû²ó
hidarisenkai;//¥¿¥¤¥Þ¤ò¥ê¥»¥Ã¥È¤·¤Ê¤¤
}
}
Off(OUT_AC);
}
sub hidari1()
{
sound1;
go_forward;
Wait(20);
hidarisenkai;
Wait(40);
turn_left;
Wait(30);
}
sub hidari2()
{
sound2;
go_forward;
Wait(20);
hidarisenkai;
Wait(40);
turn_left;
Wait(30);
}
¥¿¥¹¥¯¥á¥¤¥ó
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
power(4);//¥â¡¼¥¿¡¼¤Î½ÐÎϤòÄ´À°¡£²ÝÂ궤λþ¤Ï0¤Ç¤¢¤Ã¤¿¤¬¡¢0¤Î¾ì¹ç¤Ç¤Ï½ÐÎϤ¬Â¤ê¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢Á°²ó¤Î²ÝÂê¤Î¤È¤¤è¤ê¤â½ÐÎϤò¹â¤á¤¿¡£
ClearMessage();
GO(100);//¥¹¥¿¡¼¥ÈÏȤ«¤éÁ°¿Ê
trace2();//A-F¶è´Ö
hidari1();//F¤òº¸ÀÞ
trace2();//F-Q¶è´Ö
hidari2();//Q¤òº¸Êý¸þ
trace2();//Q-R¶è´Ö
hidari1();//R¤òº¸ÀÞ¤·¡¢T¤Ë¸þ¤«¤¦
trace2();//R-T
GO(200);//Á°¿Ê¤·¤Æ¥´¡¼¥ë¤ÎÃæ¤ËÆþ¤ë
SendMessage(SIGNALGRAB);//¥´¡¼¥ë¤Î°ÌÃÖ¤ËÅþÃ夷¤¿¤³¤È¤òÃΤ餻¤ë¡£¥¢¡¼¥à¦¤Ï¤³¤ì¤ò¼õ¤±¼è¤Ã¤¿¤é¥¢¡¼¥à¤òÆ°¤«¤·¤Æ´Ì¤¬¥´¡¼¥ë¤ÎÎΰè¤ËÆþ¤ë¤è¤¦¤Ë¤¹¤ë
while(true){
until (Message() == SIGNALBACK);//SIGNALBACK¤ò¼õ¿®¤¹¤ë¤Þ¤ÇÂÔ¤Ä
back(300);//¸åÂह¤ë
}
}
¢¬
¥¢¡¼¥à¤Î¥×¥í¥°¥é¥à ¢÷
ÄêµÁÉôʬ
#define grab OnFwd(OUT_C); Wait(100); Off(OUT_C);//¥¢¡¼¥à¤Ç´Ì¤ò¤Ä¤«¤à
#define relese OnRev(OUT_C); Wait(100); Off(OUT_C);//¥¢¡¼¥à¤Ç´Ì¤òÎ¥¤¹
#define rift_up OnFwd(OUT_A); Wait(700); Off(OUT_A);//¥ê¥Õ¥È¤ò»ý¤Á¾å¤²¤ë
#define rift_down1 OnRev(OUT_A); Wait(200); Off(OUT_A);//¥ê¥Õ¥È¤ò¼¡¤Î´Ì¤Î¹â¤µ¤Þ¤Ç²¼¤²¤ë
#define rift_down2 OnRev(OUT_A); Wait(300); Off(OUT_A);//¥ê¥Õ¥È¤ò¼¡¤Î´Ì¤Î¤Ä¤«¤à¹â¤µ¤Þ¤Ç²¼¤²¤ë¡£¤Ä¤Þ¤ê¤Ï¤¸¤á¤Î¹â¤µ¤Þ¤Ç²¼¤²¤ë
#define SIGNALGRAB 100
#define SIGNALBACK 200
#define grab2(s) OnFwd(OUT_C); Wait(s); Off(OUT_C);//´Ì¤òÄϤà»þ´ÖÊѹ¹²Äǽ
#define relese(t) OnRev(OUT_C); Wait(t); Off(OUT_C);//´Ì¤òÎ¥¤¹»þ´ÖÊѹ¹²Äǽ
¥¿¥¹¥¯¥á¥¤¥ó
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH);//¥»¥ó¥µ¡¼1¤Ë¥¿¥Ã¥Á¥»¥ó¥µ
ClearMessage();
int count;//ÊÑ¿ô¤òÄêµÁ
count=0;
while (count<1){//count¤¬1̤Ëþ¤Î»þ¥ë¡¼¥×¤ËÆþ¤ë
ClearMessage();//Message¤ÎÃͤò0¤Ë½é´ü²½
if (Message() == SIGNALGRAB){//SIGNALGRAB¤ò¼õ¿®¤·¤¿¤écount¤Ë1¤¬Â¤µ¤ì¤ë¡£¼õ¿®¤·¤¿¤é¥ë¡¼¥×¤òÈ´¤±½Ð¤¹¡£
count++;
} else count = 0;//¤½¤¦¤Ç¤Ê¤±¤ì¤Ðcount¤Ï0
}
grab2(50);//´Ì¤ò¥´¡¼¥ëÆâ¤Ë¤Þ¤È¤á¤ë¤¿¤á¤Ë¥¢¡¼¥à¤òÆ°¤«¤¹
relese(70);//Â礤á¤Ë¥¢¡¼¥à¤ò³«¤¤¤Æ´Ì¤ò´°Á´¤ËÎ¥¤¹
SendMessage(SIGNALBACK);//¸åÂह¤ë¤è¤¦¤ËÅÁ¤¨¤ë¡£
**¤Þ¤È¤á [#f33b7819]
º£²ó¤Î²ÝÂê¤Ï¤È¤Æ¤âÆñ¤·¤«¤Ã¤¿¡£¥í¥Ü¥Ã¥È¤òºî¤ë¤Î¤Ë¤«¤Ê¤ê¤Î»þ´Ö¤òÈñ¤ä¤·¤Æ¤·¤Þ¤¤¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ò¹Í¤¨¤ë»þ´Ö¤¬Í¾¤ê¤È¤ì¤Ê¤«¤Ã¤¿¡£·ë²Ì¡¢ËÜÈ֤Ǥϻפ¤Ä̤ê¤ÎÆ°¤¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£»ÄÇ°¤À¤Ã¤¿¤¬³Ú¤·¤ó¤Ç¼è¤êÁȤ᤿¤Î¤ÇÎɤ«¤Ã¤¿¡£
¥Ú¡¼¥¸Ì¾: