2019a/Member/gacchan/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
#contents
*²ÝÂê [#j496acd3]
[[2019a/Mission2]]
&ref(./2019a-mission2.png,60%);
»ä¤Ï°Ê²¼¤Î¥ë¡¼¥È¤ÇÁö¹Ô¤¹¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤¿¡£
AÃÏÅÀ¤«¤é½Ðȯ ¢ª B ¢ª C(ľ¿Ê) ¢ª D(°ì»þÄä»ß¤Î¸å¡¢Ä¾¿Ê) ¢ª E ¢ª F ¢ª G(°ì»þÄä»ß¤Î¸å¡¢±¦ÀÞ) ¢ª H ¢ª I ¢ª J(±¦ÀÞ) ¢ª K(º¸ÀÞ) ¢ª L(¥Ô¥ó¥Ý¥ó¶Ì¤ò¤Ä¤«¤à) ¢ª K(ľ¿Ê) ¢ª M(°ì»þÄä»ß) ¢ª ¥·¥å¡¼¥È¢ª AÃÏÅÀ¤ËÆþ¤ë(¥´¡¼¥ë)
*¥í¥Ü¥Ã¥È¤Î¹½Â¤ [#kc253e0a]
**¥í¥Ü¥Ã¥ÈÁ´ÂΤι½Â¤ [#r52dd6c8]
¥ì¥´¤Î¥¯¥é¥Õ¥È¥¬¥¤¥É¤ò»²¹Í¤Ë¥¿¥¤¥ä¤È¸÷¥»¥ó¥µ¡¼¤òÉÕ¤±¡¢¤½¤³¤Ë¥¢¡¼¥à¤ÎÉôʬ¤ò¼è¤êÉÕ¤±¤¿¡£
&ref(./image1.jpeg,40%);
**¥¢¡¼¥à¤Î¹½Â¤ [#a7ffc8ff]
¥Ô¥ó¥Ý¥ó¶Ì¤ò¤¹¤¯¤¤¼è¤ë¤è¤¦¤Êµ¡¹½¤Ë¤·¤¿¡£¥Ô¥ó¥Ý¥ó¶Ì¤Þ¤Ç¿Ê¤ß¥¢¡¼¥à¤ò¾å¤²¤ë¤È¥Ô¥ó¥Ý¥ó¶Ì¤¬»ý¤Á¾å¤¬¤ë¡£
&ref(./image3.jpeg,60%);
*¥×¥í¥°¥é¥àÆâÍÆ [#v7c13868]
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÊýË¡ [#na352db6]
¿Þ¤Î¤è¤¦¤Ë¸÷¥»¥ó¥µ¡¼¤Î¼è¤ëÃͤËÂФ¹¤ë¥í¥Ü¥Ã¥È¤ÎÆ°¤¤ò£µÃʳ¬¤Ëʬ¤±¤ë¤³¤È¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¡£
&ref(./hikari3.png,60%);
**¸òº¹ÅÀ¤Ç¤Î»ß¤Þ¤êÊý [#r0a1c5c8]
&ref(./hikari5.png,60%);
¢¤è¤ê¤â¡¤ÎÊý¤¬Ä¹¤¤»þ´Ö¡¢Àþ¾å¤òÄ̤ë¤Î¤Ç¡¢¸÷¥»¥ó¥µ¡¼¤ÎÃͤ¬£³£¸¤ò¼è¤ë»þ´Ö¤¬°ìÄê°Ê¾å¤Ë¤Ê¤Ã¤¿¤é¥í¥Ü¥Ã¥È¤¬»ß¤Þ¤ë¤è¤¦¤Ë¤·¤¿¡£
**¡ôdefine[#lab1035a]
***£µÃʳ¬¤Ëʬ¤±¤¿¸÷¥»¥ó¥µ¡¼¤Î¼è¤ëÃÍ [#kf9da661]
#define BLACKS 38
#define BLACK 45
#define THRESHOLD 53
#define WHITE 60
#define WHITES 68
***¸÷¥»¥ó¥µ¡¼¤ËÂбþ¤·¤¿¥í¥Ü¥Ã¥È¤ÎÆ°¤ [#g27bc6bf]
#define left_s OnFwd(OUT_A,20);OnRev(OUT_B,20);
#define left OnFwd(OUT_A,20);Off(OUT_B);
#define right_s OnFwd(OUT_B,20);OnRev(OUT_A,20);
#define right OnFwd(OUT_B,20);Off(OUT_A);
#define forward OnFwd(OUT_AB,20);
**¥µ¥Ö¥ë¡¼¥Á¥ó [#wb67a32a]
***Àþ¤Îº¸Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥° [#x98e539a]
sub follow_line_left()
{
SetSensorLight(S3);
long t0=0,t1=0,time_max=2;
while(t1-t0<time_max){
if(SENSOR_3<BLACKS){
t0=CurrentTick();
left_s;until(SENSOR_3<THRESHOLD);
t1=CurrentTick();
}else if(SENSOR_3<BLACK){
left;
}else if(SENSOR_3<THRESHOLD){
forward;
}else if(SENSOR_3<WHITE){
right;
}else if(SENSOR_3<WHITES){
right_s;
}
}
Off(OUT_AB);
Wait(1000);
}
***Àþ¤Î±¦Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥° [#ja616424]
sub follow_line_right()
{
SetSensorLight(S3);
long t0=0,t1=0,time_max=2;
while(t1-t0<time_max){
if(SENSOR_3<BLACKS){
t0=CurrentTick();
right_s; until(SENSOR_3<THRESHOLD);
t1=CurrentTick();
}else if(SENSOR_3<BLACK){
right;
}else if(SENSOR_3<THRESHOLD){
forward;
}else if(SENSOR_3<WHITE){
left;
}else if(SENSOR_3<WHITES){
left_s;
}
}
Off(OUT_AB);
Wait(1000);
}
**¥á¥¤¥ó¥×¥í¥°¥é¥à [#ne8b38c8]
task main()
{
long t=1000;
forward;
Wait(1000);¡¡¡¡¡¡¡¡¡¡//A¤«¤é½Ð¤ë¡£
follow_line_left();¡¡ ¡¡¡¡¡¡//B¤«¤éC¤òÄ̤êD¤Ç»ß¤Þ¤ë¡£
forward;
Wait(t);¡¡¡¡¡¡¡¡¡¡//D¤Î¸òº¹ÅÀ¤òÅϤ롣
follow_line_left();¡¡¡¡¡¡¡¡¡¡//D¤«¤éE¤òÄ̤êF¤Ç»ß¤Þ¤ë¡£
right;
Wait(t);¡¡¡¡¡¡¡¡¡¡//G¤ÇÊý¸þž²ó¡£
follow_line_right();¡¡¡¡¡¡¡¡¡¡//G¤«¤éH¤Þ¤Ç°ÜÆ°¡£
repeat(2){
forward;
Wait(t);
follow_line_right();
}¡¡¡¡¡¡¡¡¡¡//H¤«¤éI¤òÄ̤êJ¤Ç»ß¤Þ¤ë¡£
right_s;
Wait(t);
follow_line_right();¡¡¡¡¡¡¡¡¡¡//J¤«¤éK¤Þ¤Ç°ÜÆ°¡£
left_s;
Wait(t);¡¡¡¡¡¡¡¡¡¡¡¡//K¤ÇÊý¸þž´¹¡£
follow_line_left();¡¡¡¡¡¡¡¡¡¡¡¡//K¤«¤éL¤Ë°ÜÆ°¡£
OnRev(OUT_C,20);
Wait(500);¡¡¡¡¡¡¡¡¡¡//¥Ü¡¼¥ë¤ò¤¹¤¯¤¤¼è¤ë¡£
left_s;
Wait(4000);¡¡¡¡¡¡¡¡¡¡¡¡//L¤ÇÊý¸þž´¹¡£
follow_line_right();¡¡¡¡¡¡¡¡¡¡¡¡//L¤«¤éK¤Ë°ÜÆ°¡£
forward;¡¡¡¡¡¡¡¡¡¡
Wait(2000);¡¡¡¡¡¡¡¡¡¡//¸òº¹ÅÀ¤òÅϤ롣
follow_line_right();¡¡¡¡¡¡¡¡¡¡//K¤«¤éM¤Ë°ÜÆ°¡£
OnFwd(OUT_C,20);
Wait(500); ¡¡¡¡¡¡¡¡¡¡//¥Ü¡¼¥ë¤ò²¼¤í¤¹¡£
OnRev(OUT_AB,20);
Wait(500);
OnFwd(OUT_AB,100);
Wait(t);¡¡¡¡¡¡¡¡¡¡//¥·¥å¡¼¥È¡£
Off(OUT_AB);¡¡¡¡¡¡¡¡¡¡¡¡//Ää»ß¡£
}
*È¿¾Ê¡¦´¶ÁÛ[#d7a75c1d]
º£²ó¤Î²ÝÂê¤Ç¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¡¢¸òº¹ÅÀ¤Ç»ß¤Þ¤ë¤Ê¤É¤ÎÅÀ¤ÇÁ°²ó¤Î²ÝÂ꣱¤ËÈæ¤Ù¤Æ¿¤¯¤ÎÅÀ¤ÇÆñ¤·¤µ¤ò´¶¤¸¤¿¡£º£²ó¤Î²ÝÂê¤Ç¿¤¯¤Î¥È¥é¥¤¡õ¥¨¥é¡¼¤ò·Ð¸³¤·¤¿¤³¤È¤ÇÌäÂê²ò·è¤ÎÎϤò¿¤Ð¤¹¤³¤È¤¬¤Ç¤¤¿¡£¤³¤Îº£²ó¿È¤Ë¤Ä¤±¤¿ÎϤò²ÝÂꣳ¤Ë³è¤«¤·¡¢¤è¤ê¤è¤¤¥í¥Ü¥Ã¥È¡¢¥×¥í¥°¥é¥à¤òºî¤í¤¦¤È»×¤Ã¤¿¡£
½ªÎ»¹Ô:
#contents
*²ÝÂê [#j496acd3]
[[2019a/Mission2]]
&ref(./2019a-mission2.png,60%);
»ä¤Ï°Ê²¼¤Î¥ë¡¼¥È¤ÇÁö¹Ô¤¹¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤¿¡£
AÃÏÅÀ¤«¤é½Ðȯ ¢ª B ¢ª C(ľ¿Ê) ¢ª D(°ì»þÄä»ß¤Î¸å¡¢Ä¾¿Ê) ¢ª E ¢ª F ¢ª G(°ì»þÄä»ß¤Î¸å¡¢±¦ÀÞ) ¢ª H ¢ª I ¢ª J(±¦ÀÞ) ¢ª K(º¸ÀÞ) ¢ª L(¥Ô¥ó¥Ý¥ó¶Ì¤ò¤Ä¤«¤à) ¢ª K(ľ¿Ê) ¢ª M(°ì»þÄä»ß) ¢ª ¥·¥å¡¼¥È¢ª AÃÏÅÀ¤ËÆþ¤ë(¥´¡¼¥ë)
*¥í¥Ü¥Ã¥È¤Î¹½Â¤ [#kc253e0a]
**¥í¥Ü¥Ã¥ÈÁ´ÂΤι½Â¤ [#r52dd6c8]
¥ì¥´¤Î¥¯¥é¥Õ¥È¥¬¥¤¥É¤ò»²¹Í¤Ë¥¿¥¤¥ä¤È¸÷¥»¥ó¥µ¡¼¤òÉÕ¤±¡¢¤½¤³¤Ë¥¢¡¼¥à¤ÎÉôʬ¤ò¼è¤êÉÕ¤±¤¿¡£
&ref(./image1.jpeg,40%);
**¥¢¡¼¥à¤Î¹½Â¤ [#a7ffc8ff]
¥Ô¥ó¥Ý¥ó¶Ì¤ò¤¹¤¯¤¤¼è¤ë¤è¤¦¤Êµ¡¹½¤Ë¤·¤¿¡£¥Ô¥ó¥Ý¥ó¶Ì¤Þ¤Ç¿Ê¤ß¥¢¡¼¥à¤ò¾å¤²¤ë¤È¥Ô¥ó¥Ý¥ó¶Ì¤¬»ý¤Á¾å¤¬¤ë¡£
&ref(./image3.jpeg,60%);
*¥×¥í¥°¥é¥àÆâÍÆ [#v7c13868]
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÊýË¡ [#na352db6]
¿Þ¤Î¤è¤¦¤Ë¸÷¥»¥ó¥µ¡¼¤Î¼è¤ëÃͤËÂФ¹¤ë¥í¥Ü¥Ã¥È¤ÎÆ°¤¤ò£µÃʳ¬¤Ëʬ¤±¤ë¤³¤È¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¡£
&ref(./hikari3.png,60%);
**¸òº¹ÅÀ¤Ç¤Î»ß¤Þ¤êÊý [#r0a1c5c8]
&ref(./hikari5.png,60%);
¢¤è¤ê¤â¡¤ÎÊý¤¬Ä¹¤¤»þ´Ö¡¢Àþ¾å¤òÄ̤ë¤Î¤Ç¡¢¸÷¥»¥ó¥µ¡¼¤ÎÃͤ¬£³£¸¤ò¼è¤ë»þ´Ö¤¬°ìÄê°Ê¾å¤Ë¤Ê¤Ã¤¿¤é¥í¥Ü¥Ã¥È¤¬»ß¤Þ¤ë¤è¤¦¤Ë¤·¤¿¡£
**¡ôdefine[#lab1035a]
***£µÃʳ¬¤Ëʬ¤±¤¿¸÷¥»¥ó¥µ¡¼¤Î¼è¤ëÃÍ [#kf9da661]
#define BLACKS 38
#define BLACK 45
#define THRESHOLD 53
#define WHITE 60
#define WHITES 68
***¸÷¥»¥ó¥µ¡¼¤ËÂбþ¤·¤¿¥í¥Ü¥Ã¥È¤ÎÆ°¤ [#g27bc6bf]
#define left_s OnFwd(OUT_A,20);OnRev(OUT_B,20);
#define left OnFwd(OUT_A,20);Off(OUT_B);
#define right_s OnFwd(OUT_B,20);OnRev(OUT_A,20);
#define right OnFwd(OUT_B,20);Off(OUT_A);
#define forward OnFwd(OUT_AB,20);
**¥µ¥Ö¥ë¡¼¥Á¥ó [#wb67a32a]
***Àþ¤Îº¸Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥° [#x98e539a]
sub follow_line_left()
{
SetSensorLight(S3);
long t0=0,t1=0,time_max=2;
while(t1-t0<time_max){
if(SENSOR_3<BLACKS){
t0=CurrentTick();
left_s;until(SENSOR_3<THRESHOLD);
t1=CurrentTick();
}else if(SENSOR_3<BLACK){
left;
}else if(SENSOR_3<THRESHOLD){
forward;
}else if(SENSOR_3<WHITE){
right;
}else if(SENSOR_3<WHITES){
right_s;
}
}
Off(OUT_AB);
Wait(1000);
}
***Àþ¤Î±¦Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥° [#ja616424]
sub follow_line_right()
{
SetSensorLight(S3);
long t0=0,t1=0,time_max=2;
while(t1-t0<time_max){
if(SENSOR_3<BLACKS){
t0=CurrentTick();
right_s; until(SENSOR_3<THRESHOLD);
t1=CurrentTick();
}else if(SENSOR_3<BLACK){
right;
}else if(SENSOR_3<THRESHOLD){
forward;
}else if(SENSOR_3<WHITE){
left;
}else if(SENSOR_3<WHITES){
left_s;
}
}
Off(OUT_AB);
Wait(1000);
}
**¥á¥¤¥ó¥×¥í¥°¥é¥à [#ne8b38c8]
task main()
{
long t=1000;
forward;
Wait(1000);¡¡¡¡¡¡¡¡¡¡//A¤«¤é½Ð¤ë¡£
follow_line_left();¡¡ ¡¡¡¡¡¡//B¤«¤éC¤òÄ̤êD¤Ç»ß¤Þ¤ë¡£
forward;
Wait(t);¡¡¡¡¡¡¡¡¡¡//D¤Î¸òº¹ÅÀ¤òÅϤ롣
follow_line_left();¡¡¡¡¡¡¡¡¡¡//D¤«¤éE¤òÄ̤êF¤Ç»ß¤Þ¤ë¡£
right;
Wait(t);¡¡¡¡¡¡¡¡¡¡//G¤ÇÊý¸þž²ó¡£
follow_line_right();¡¡¡¡¡¡¡¡¡¡//G¤«¤éH¤Þ¤Ç°ÜÆ°¡£
repeat(2){
forward;
Wait(t);
follow_line_right();
}¡¡¡¡¡¡¡¡¡¡//H¤«¤éI¤òÄ̤êJ¤Ç»ß¤Þ¤ë¡£
right_s;
Wait(t);
follow_line_right();¡¡¡¡¡¡¡¡¡¡//J¤«¤éK¤Þ¤Ç°ÜÆ°¡£
left_s;
Wait(t);¡¡¡¡¡¡¡¡¡¡¡¡//K¤ÇÊý¸þž´¹¡£
follow_line_left();¡¡¡¡¡¡¡¡¡¡¡¡//K¤«¤éL¤Ë°ÜÆ°¡£
OnRev(OUT_C,20);
Wait(500);¡¡¡¡¡¡¡¡¡¡//¥Ü¡¼¥ë¤ò¤¹¤¯¤¤¼è¤ë¡£
left_s;
Wait(4000);¡¡¡¡¡¡¡¡¡¡¡¡//L¤ÇÊý¸þž´¹¡£
follow_line_right();¡¡¡¡¡¡¡¡¡¡¡¡//L¤«¤éK¤Ë°ÜÆ°¡£
forward;¡¡¡¡¡¡¡¡¡¡
Wait(2000);¡¡¡¡¡¡¡¡¡¡//¸òº¹ÅÀ¤òÅϤ롣
follow_line_right();¡¡¡¡¡¡¡¡¡¡//K¤«¤éM¤Ë°ÜÆ°¡£
OnFwd(OUT_C,20);
Wait(500); ¡¡¡¡¡¡¡¡¡¡//¥Ü¡¼¥ë¤ò²¼¤í¤¹¡£
OnRev(OUT_AB,20);
Wait(500);
OnFwd(OUT_AB,100);
Wait(t);¡¡¡¡¡¡¡¡¡¡//¥·¥å¡¼¥È¡£
Off(OUT_AB);¡¡¡¡¡¡¡¡¡¡¡¡//Ää»ß¡£
}
*È¿¾Ê¡¦´¶ÁÛ[#d7a75c1d]
º£²ó¤Î²ÝÂê¤Ç¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¡¢¸òº¹ÅÀ¤Ç»ß¤Þ¤ë¤Ê¤É¤ÎÅÀ¤ÇÁ°²ó¤Î²ÝÂ꣱¤ËÈæ¤Ù¤Æ¿¤¯¤ÎÅÀ¤ÇÆñ¤·¤µ¤ò´¶¤¸¤¿¡£º£²ó¤Î²ÝÂê¤Ç¿¤¯¤Î¥È¥é¥¤¡õ¥¨¥é¡¼¤ò·Ð¸³¤·¤¿¤³¤È¤ÇÌäÂê²ò·è¤ÎÎϤò¿¤Ð¤¹¤³¤È¤¬¤Ç¤¤¿¡£¤³¤Îº£²ó¿È¤Ë¤Ä¤±¤¿ÎϤò²ÝÂꣳ¤Ë³è¤«¤·¡¢¤è¤ê¤è¤¤¥í¥Ü¥Ã¥È¡¢¥×¥í¥°¥é¥à¤òºî¤í¤¦¤È»×¤Ã¤¿¡£
¥Ú¡¼¥¸Ì¾: