2015a/Member/sagasa/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2015a/Member]]
#contents
*²ÝÂê¤ÎÀâÌÀ [#m418f4ac]
**¥³¡¼¥¹ [#m976740f]
#ref(./course1.png)
¹õÀþ¤ÎÉý¤Ï20mm¤Ç¤Ê¤ë¤Ù¤¯¶ÑÅù¤ÊÇ»¤µ¤Ë¤¹¤ë¤³¤È¡£¥´¡¼¥ë¤Ï1x16¤Î¥Ó¡¼¥à1ËÜ¡¢1x8¤Î¥Ó¡¼¥à2ËÜ¡¢¤ª¤è¤Ó¤½¤ì¤é¤òÀܳ¤¹¤ë¤¿¤á¤Î¥×¥ì¡¼¥È¤ò»ÈÍѤ·¡¢¥³¤Î»ú¤ËÁȤ߹ç¤ï¤»¤Æºî¤ë¡£
*¥í¥Ü¥Ã¥ÈËÜÂΤÎÀâÌÀ [#fe1716d1]
**Á´ÂÎ¿Þ [#r4dee8da]
#ref(./honntai4.png)
¥¢¡¼¥à¤Ï¥Ô¥ó¥Ý¥ó¶Ì¤ò¤·¤Ã¤«¤ê¤ÈÄϤá¤ë¤è¤¦¤ËÆó½Å¤Ë¤·¤Æ¤½¤ì¤ò¥â¡¼¥¿¡¼¤Î²óž¤òÍøÍѤ·¤Æ³«ÊĤǤ¤ë¡£
¥·¥å¡¼¥È¤Ï¡¢°ìÅÙ¥¢¡¼¥à¤ò³«¤¤¤Æ¤«¤é¥í¥Ü¥Ã¥ÈËÜÂΤ¬¤Ö¤Ä¤«¤ë¤³¤È¤Ç¥·¥å¡¼¥È¤¹¤ë»ÅÁȤߤȤʤäƤ¤¤ë¡£
¤Þ¤¿¥¢¡¼¥àÁ´ÂΤò¾å¤È²¼¤Ç¸ÇÄꤷ¤Æ¤¢¤ë¡£
**¥¢¡¼¥à [#dfaec952]
#ref(./arm4.png)
¼Ì¿¿¤ÎÀÖÀþ¤Ç°Ï¤Þ¤ì¤¿Éôʬ¤¬¤«¤Ê¤á¤Ç¤¢¤ê¡¢¥â¡¼¥¿¡¼¤¬²óž¤¹¤ë¤³¤È¤Ç¡¢¥®¥¢¤¬Æó¤Ä³¤±¤Æ¤Ä¤±¤Æ¤¢¤ë¥®¥¢¤Î¾å¤Î¥®¥¢¤¬²óž¤¹¤ë¤¿¤á¤Ë¡¢¥·¥ã¥Õ¥È¼«ÂΤ¬²óž¤¹¤ë¤³¤È¤Ç¡¢²¼¤Î¥®¥¢¤âƱ»þ¤Ë²óž¤¹¤ë¤Î¤Ç¡¢¤½¤Î¥®¥¢¤È¤«¤ß¹ç¤Ã¤Æ¤¤¤ë¤â¤¦ÊÒÊý¤Î¥·¥ã¥Õ¥È¤â²óž¤¹¤ë¤Î¤Ç¡¢²¼¤Ë¤Ä¤¤¤Æ¤¤¤ë¥Ó¡¼¥à¤Ë¶´¤Þ¤ì¤¿¥¢¡¼¥àÉôʬ¤ò³«ÊĤ¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£
**¥¿¥¤¥äÉôʬ [#p9c61ff8]
´ðËܤÎʪ¤ò¥Ù¡¼¥¹¤Ë¿¿¤óÃæ¤Î¥Ó¡¼¥à¤Ç¤Ç¤¤Æ¤¤¤ëÉôʬ¤ò¤Ê¤¯¤·¡¢½ÐÍè¤ë¤À¤±¾®¤µ¤¯¤Þ¤È¤Þ¤ë¤è¤¦¤ËÁȤ߾夲¤¿¤³¤È¤Ç¥¿¥¤¥ä¤È¥»¥ó¥µ¡¼¤Îµ÷Î¥¤ò½ÐÍè¤ë¤À¤±¶á¤Å¤±¤ë¤è¤¦¤Ë¤·¤¿¤¦¤¨¤Ç¥í¥Ü¥Ã¥È¤ÎÁ°Êý¤ËL»ú¥Ö¥í¥Ã¥¯¤òÁȤ߹þ¤á¤ë¤è¤¦¤Ë¤·¤¿¡£
**¸÷¥»¥ó¥µ¡¼ [#v3946372]
¸÷¥»¥ó¥µ¡¼¤Ï¤Ê¤ë¤Ù¤¯¥¿¥¤¥ä¤Ë¶á¤¤°ÌÃ֤˸ÇÄꤷ¤¿¡£
¥»¥ó¥µ¡¼£±¤ò»È¤Ã¤Æ¤¤¤ë¡£
#ref(./sensor1.png)
***ÉôÉÊ [#if002973]
¥â¡¼¥¿¡¼ ¥Ó¡¼¥à¤Ë¤µ¤«¤µ¤Þ¤ËÉÕ¤¤¤Æ¤¤¤ë¡£
¸÷¥»¥ó¥µ¡¼¡¡L»ú¥Ö¥í¥Ã¥¯¤ÈÁȤ߹ç¤ï¤»¤ÆÆþ¤ì¤Æ¤¤¤ë¡£
¥Ó¡¼¥à¡¡¡¡¡¡ËÜÂξåÉô¤ÈÁö¹Ô¤¹¤ë²¼Éô¤ò¤Ä¤Ê¤°¤è¤¦¤ËL»ú¤Î·Á¤Ë¤Ê¤ë¤è¤¦¤ËÁȤ߾夲¤Æ¤¤¤ë¡£
**ËÜÂÎ [#mfbcf3e3]
´ðËܤÎʪ¤ÎÃæ±ûÉôʬ¤ò³°¤·¤Æ¤è¤ê¥³¥ó¥Ñ¥¯¥È¤Ë¡¢»È¤¤¤ä¤¹¤¤¤è¤¦¤Ëºî¤êÊѤ¨¤¿¡£
¥¢¡¼¥à¤È¤Î·ó¤Í¹ç¤¤¤«¤é¡¢Â礤¤Êý¤Î¥¿¥¤¥ä¤òÁ°¤Ë¤·¤¿¡£
**ÌäÂêÅÀ [#o1055129]
¥¢¡¼¥à¤Ï¥â¡¼¥¿¡¼¤Î³«Å¸¤Ë¤è¤ê¼è¤ì¤ä¤¹¤¯¡¢¤Þ¤¿¸÷¥»¥ó¥µ¡¼¤È¥¢¡¼¥à¤ò´Þ¤àÁ°Éôʬ¤Î¥Ñ¡¼¥Ä¤¬ËÜÂΤ«¤é¤È¤ì¤ä¤¹¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
*¥×¥í¥°¥é¥à¤ÎÀâÌÀ [#qcd64785]
¤Ç¤Ï¤³¤ì¤«¤é¥×¥í¥°¥é¥à¤ÎÀâÌÀ¤ËÆþ¤ë¡£
**¥³¡¼¥¹ÀâÌÀ [#y8e10aa9]
#ref(./course3.png)
¾å¤Î¿Þ¤«¤é¤âʬ¤«¤ëÄ̤ꡢº£²ó¡¢¥í¥Ü¥Ã¥È¤òÁö¤é¤»¤ë¥³¡¼¥¹¤Ï¡¢ÃÏÅÀA¤«¤éÃÏÅÀB¤Þ¤Ç¤Î¤ß¤Á¤Î¤ê¤Ç¤¢¤ë¡£¤³¤Î¥³¡¼¥¹¤ÏP»°ºµÏ©¤ò²á¤®¤¿¤È¤³¤í¤Ë¥Ü¡¼¥ë¤¬¤¢¤ê¡¢¤¹¤°¤ËµÞ¥«¡¼¥Ö¤¬¤¢¤ë¡£Q¸òº¹ÅÀ¤òÅϤ俤¢¤È¤âľ³Ñ¥«¡¼¥Ö¤¬¤¢¤ê¶Ê¤¬¤ê¤Ë¤¯¤¤ÅÀ¤¬¥Ý¥¤¥ó¥È¤Ç¤¢¤ë¡£
**¥×¥í¥°¥é¥à¤Î²òÀâ [#j69a10a9]
***ÄêµÁ [#w0dc38f3]
¤Þ¤º¥×¥í¥°¥é¥à¤ÇÄêµÁ¤·¤¿Êª¤òµó¤²¤Æ¤¤¤¯¡£
#define THRESHOLD 47 /*¤·¤¤¤ÃͤÎÀßÄê*/
#define LOWPOWER 3 /*¥Ñ¥ï¡¼¤ÎÃÍ*/
#define set_power_l SetPower(OUT_AC,LOWPOWER); /*¥Ñ¥ï¡¼¤ÎÀßÄê*/
#define straight set_power_l; OnFwd(OUT_AC); /*Á°¿Ê*/
#define back set_power_l; OnRev(OUT_AC); Wait(60); /*¸åÂà*/
#define LEFT set_power_l; OnFwd(OUT_C); Off(OUT_A); /*º¸¤Ë¶Ê¤¬¤ë*/
#define RIGHT set_power_l; OnFwd(OUT_A); Off(OUT_C); /*±¦¤Ë¶Ê¤¬¤ë*/
#define LEFT_L set_power_l; OnFwd(OUT_C); OnRev(OUT_A); /*º¸¤ËÀû²ó*/
#define RIGHT_L set_power_l; OnFwd(OUT_A); OnRev(OUT_C);/*±¦¤ËÀû²ó*/
#define STOP1 Off(OUT_AC); Wait(200); /*2ÉôÖÄä»ß*/
#define STOP2 Off(OUT_AC); Wait(20); /*0.2ÉôÖÄä»ß*/
#define STEP 1 /*ȽÃǤËÍפ¹¤ë»þ´Ö*/
#define arm_on OnRev(OUT_B); Wait(11); Off(OUT_B); /*¥¢¡¼¥à¤ò³«¤¯*/
#define arm_close OnFwd(OUT_B); Wait(8); Off(OUT_B); /*¥¢¡¼¥à¤òÊĤ¸¤ë*/
#define music PlayTone(523,25); /*¥É¤Î²»¤ò½Ð¤¹*/
#define MOVE_TIME 30 /*¤³¤Î´Ö¤Ëư¤¯*/
#define judge_time 33 /*¸òº¹ÅÀ¤Þ¤¿¤Ï»°ºµÏ©¤Ç¤¢¤ë¤«È½ÃǤ¹¤ëºÝ¤ÎÃÍ*/
***¥µ¥Ö¥ë¡¼¥Á¥ó [#u98024da]
Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
sub line1(){
if(SENSOR_1 <= THRESHOLD-10) {
LEFT; /*¸÷¥»¥ó¥µ¡¼¤¬£³£·°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ïº¸¤Ë¶Ê¤¬¤ë*/
}else{
if (SENSOR_1 <= THRESHOLD-12) {
straight;
}else{
RIGHT; ¡¡
} ClearTimer(0);
}¡¡/*¸÷¥»¥ó¥µ¡¼¤¬£³£µ°Ê²¼¤ÎÃͤò¼¨¤·¤¿»þ¤Ïľ¿Ê¡¢£³£·¤è¤ê¾å¤ÎÃͤò¼¨¤·¤¿»þ¤Ï¡¢±¦¤Ë¶Ê¤¬¤ê¡¢¤½¤Î¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¥¿¥¤¥Þ¡¼¤Ï¥ê¥»¥Ã¥È¤¹¤ë¡£
}
µÞ¥«¡¼¥Ö¤Ë»ÈÍѤ¹¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹
sub line2(){
if(SENSOR_1 <= THRESHOLD-10) {
LEFT_L; /*¸÷¥»¥ó¥µ¡¼¤¬£³£·°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ïº¸Àû²ó¤ò¤¹¤ë¡£*/
}else{
if (SENSOR_1 <=THRESHOLD-12) {
straight;} /*¸÷¥»¥ó¥µ¡¼¤¬£³£µ°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ïľ¿Ê¤¹¤ë¡£*/
}else if (SENSOR_1<= THRESHOLD-3){
RIGHT_L;} /*¸÷¥»¥ó¥µ¡¼¤¬£´£´°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ï±¦Àû²ó¤¹¤ë¡£*/
}else{
RIGHT; } /*¾åµ°Ê³°¤Î¾õ¶·¤Î¾ì¹ç¡¢±¦¤Ë¶Ê¤¬¤ë¡£*/
}
}
»°ºµÏ©¡¢¸òº¹ÅÀ¤òÄ̲᤹¤ë»þ
sub cross()
{
STOP1; /* ÆóÉôÖÄä»ß¤¹¤ë*/
RIGHT_L; Wait(30);¡¡/*¥í¥Ü¥Ã¥È¤Î¸þ¤¤òÄ´À°¤¹¤ë¤¿¤á¤Ë±¦¤ËÀû²ó¤¹¤ë¡£*/
music; /*¸òº¹ÅÀ¡¢»°ºµÏ©¤Ë¤Ä¤¤¤¿¤³¤È¤ò¼¨¤¹¤¿¤á¤ËÌĤ餹¡£*/
straight; Wait(MOVE_TIME); /* ¸òº¹ÅÀ¡¢»°ºµÏ©¤ò²£ÃǤ¹¤ë¡£*/
}
º£²ó¤Î²ÝÂê¤Ç¤Ï¡¢¸òº¹ÅÀ¤ä»°ºµÏ©¤òȽÃǤ·ÆóÉôÖÄä»ß¤¹¤ëɬÍפ¬¤¢¤Ã¤¿¡£¤½¤³¤Ç¥¿¥¤¥Þ¡¼¤ò»ÈÍѤ·¤¿¸òº¹ÅÀ¤Î¼±ÊÌÊýË¡¤ò»È¤¦¤³¤È¤Ë¤·¤¿¡£
¥µ¥Ö¥ë¡¼¥Á¥ó¤Îline1¤Ï¡¢¥¿¥¤¥Þ¡¼£°¤¬ÀßÄꤷ¤Æ¤¢¤ë»þ¡¢¸÷¥»¥ó¥µ¡¼¤¬¹õ¤¤Àþ¤ò¸¡ÃΤ·¤Æ¤¤¤ë´Ö¤À¤±¡¢¥¿¥¤¥Þ¡¼£°¤ò¿Ê¤Þ¤»¤Æ¡¢¤½¤ì°Ê³°¤Î¾õ¶·¤Î»þ¤Ï¾ï¤Ë¥¿¥¤¥Þ¡¼£°¤ò¥ê¥»¥Ã¥È¤·Â³¤±¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¢¤ë¡£¸òº¹ÅÀ¤ä»°ºµÏ©¤Ç¤Ï¡¢¹õ¤¤Àþ¤¬Â³¤±¤ÆÈ½ÃǤµ¤ì¤ë¤³¤È¤òÍøÍѤ·¡¢¹õ¤¤Àþ¤¬Â³¤¤¤Æ¤¤¤ë¤³¤È¤Ç¥¿¥¤¥Þ¡¼£°¤òwhile¤òÍѤ¤¤Æ¤¢¤ëÃ͡ʺ£²ó¤Ç¤Ïjudge_time¤ÈÄêµÁ¤Ä¤±¤¿ÃÍ¡Ë¤Þ¤ÇÆ°¤¯¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢¤½¤ì°Ê³°¤Î¾ì½ê¤Ç¤Ï¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·Â³¤±¡¢¸òº¹ÅÀ¤ä»°ºµÏ©¤Ç¤Ï¼¡¤Îưºî¤Ë°Ü¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¤·¤«¤·¡¢µÞ¥«¡¼¥Ö¤Ëº¹¤·³Ý¤«¤ë¤È¸òº¹ÅÀ¤ÎȽÃǤò¤·¤Æ¤·¤Þ¤¦Â¾¡¢¶Ê¤¬¤êÀÚ¤ì¤Ê¤¤¤Î¤Ç¡¢µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë¤¿¤á¤Ë¡¢line2¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£
line2¤Ï¶Ê¤¬¤ëºÝ¤ÏÀû²ó¤ò»È¤¦¤³¤È¤ÇµÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤êÀڤꡢÀßÄꤷ¤¿¥¿¥¤¥Þ¡¼¤ò»È¤¦¤³¤È¤Ç¡¢µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë»þ´Ö¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë¤Þ¤Çư¤Â³¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
¤Þ¤¿¡¢»°ºµÏ©¤ä¸òº¹ÅÀ¤òÄ̲᤹¤ë¤È¤¤Ë¡¢¤É¤¦¤·¤Æ¤â¤Þ¤Ã¤¹¤°¤Ë¹Ô¤«¤Ê¤¤¤¿¤á¡¢»ÅÊý¤Ê¤¯Àû²ó¤ò»È¤¤°ÌÃÖ¤òÄ´À°¤·¤Æ¤¤¤ë¡£
¥Ü¡¼¥ë¤ÏµÞ¥«¡¼¥Ö¤Î°ÌÃÖ¤ËÃÖ¤¯¤³¤È¤Çline1¤ò»ÈÍѤ·¤ÆÈ½ÃǤ¹¤ë¡£
**¥á¥¤¥ó¥¿¥¹¥¯ [#oe0770ce]
¡¡Á¢
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
ClearTimer(0);
while( FastTimer(0) <= judge_time) {
line1(); Wait(STEP); /*¸òº¹ÅÀ¤Ëº¹¤·³Ý¤«¤ë¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¡£*/
}cross();
ClearTimer(0);
¢¡Á£
while( FastTimer(0) <= judge_time) {
line1(); Wait(STEP);
}STOP2; arm_close; /*¥Ü¡¼¥ë¤Î¤¢¤ë¤È¤³¤í¤Ç¡¢È½ÃǤ·¤Æ»ß¤Þ¤ê¥Ü¡¼¥ë¤òÄϤà*/
£¡Á¤
while( FastTimer(0) <= judge_time) {
line1(); Wait(STEP); /*µÞ¥«¡¼¥Ö¤Ëº¹¤·³Ý¤«¤ë¤Þ¤Ç¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¡£*/
}ClearTimer(0); /*¥¿¥¤¥Þ¡¼£°¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£*/
¤¡Á¥
while( Timer(0) <= 200) {
line2(); Wait(STEP); /*¥¿¥¤¥Þ¡¼¤Ç£²£°£°¤ÎÃͤޤǵޥ«¡¼¥ÖÍѤΥ饤¥ó¥È¥ì¡¼¥¹¤ÇµÞ¥«¡¼¥Ö¤òÁö¤êÀڤ롣*/
}ClearTimer(0); /*¥¿¥¤¥Þ¡¼£°¤ò¥ê¥»¥Ã¥È¤¹¤ë*/
while( FastTimer(0) <= judge_time){
line1();
}cross(); /*¸òº¹ÅÀ¤Î°ÌÃÖ¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¤¡¢¸òº¹ÅÀ¤Ëº¹¤·³Ý¤«¤Ã¤¿¤éÅϤ롣*/
ClearTimer(1); ClearTimer(0); /*¥¿¥¤¥Þ¡¼£°¤È¥¿¥¤¥Þ¡¼£±¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£*/
¥¡Á¦
while( Timer(1) <= 180){
line2(); Wait(STEP); /*ľ³Ñ¥«¡¼¥Ö¤ÎÉôʬ¤òÅϤ뤿¤á¤Ë¥¿¥¤¥Þ¡¼£±¤Î£±£¸£°¤ÎÃͤˤʤë¤Þ¤Ç¤ËµÞ¥«¡¼¥ÖÍѤΥ饤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¡£*/
}
¦¡Á§
while(FastTimer(0) <= judge_time){
line1(); Wait(STEP); /*¥·¥å¡¼¥È¤¹¤ëBÃÏÅÀ¤ÎÁ°¤Ç»ß¤Þ¤ë¤¿¤á¤Ë¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¡£*/
}STOP2; /*BÃÏÅÀ¤ËÍ褿¤éÄä»ß¤¹¤ë¡£*/
arm_on; music;back; straight; Wait(80); STOP2;/*¥·¥å¡¼¥È¤Îưºî*/
}
*Á´ÂΤÎÈ¿¾ÊÅÀ [#jfa94a7a]
°ì¡¡¦¡Á§¤Î´Ö¤Ç¡¢¸íºîư¤ÇÀè¤Ëư¤¤¤Æ¤·¤Þ¤¦¤¿¤á¤ËTimer(0)¤À¤±¤Ç¤Ê¤¯¡¢Timer(1)¤ò»È¤ï¤¶¤ë¤òÆÀ¤Ê¤«¤Ã¤¿ÅÀ¡£
Æó¡¡¤Þ¤¿µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤êÀڤ줺¤Ë²¿²ó¤«¡¢¤ä¤êľ¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ÅÀ¡£
»°¡¡Àû²ó¤Ç¤Ï¤É¤¦¤·¤Æ¤â»þ´Ö»ØÄê¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ì¤º¡¢»þ´Ö¤ò¬¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ÅÀ¡£
*´¶ÁÛ [#u6afa3e8]
º£²ó¤Î²ÝÂê¤â½é¤á¤Ï¤Ç¤¤ë¤«É԰¤Ǥ¢¤Ã¤¿¤¬¡¢²¿¤È¤«¤ä¤ê½ª¤¨¤ë¤³¤È¤¬½ÐÍ褿¡£°ìÅÙ¥×¥í¥°¥é¥à¤òÁ´Éô½ñ¤Ä¾¤¹¤·¤¿¤³¤È¤â¤¢¤ê¡¢´°À®¤·¤Æ¤è¤«¤Ã¤¿¡£
½ªÎ»¹Ô:
[[2015a/Member]]
#contents
*²ÝÂê¤ÎÀâÌÀ [#m418f4ac]
**¥³¡¼¥¹ [#m976740f]
#ref(./course1.png)
¹õÀþ¤ÎÉý¤Ï20mm¤Ç¤Ê¤ë¤Ù¤¯¶ÑÅù¤ÊÇ»¤µ¤Ë¤¹¤ë¤³¤È¡£¥´¡¼¥ë¤Ï1x16¤Î¥Ó¡¼¥à1ËÜ¡¢1x8¤Î¥Ó¡¼¥à2ËÜ¡¢¤ª¤è¤Ó¤½¤ì¤é¤òÀܳ¤¹¤ë¤¿¤á¤Î¥×¥ì¡¼¥È¤ò»ÈÍѤ·¡¢¥³¤Î»ú¤ËÁȤ߹ç¤ï¤»¤Æºî¤ë¡£
*¥í¥Ü¥Ã¥ÈËÜÂΤÎÀâÌÀ [#fe1716d1]
**Á´ÂÎ¿Þ [#r4dee8da]
#ref(./honntai4.png)
¥¢¡¼¥à¤Ï¥Ô¥ó¥Ý¥ó¶Ì¤ò¤·¤Ã¤«¤ê¤ÈÄϤá¤ë¤è¤¦¤ËÆó½Å¤Ë¤·¤Æ¤½¤ì¤ò¥â¡¼¥¿¡¼¤Î²óž¤òÍøÍѤ·¤Æ³«ÊĤǤ¤ë¡£
¥·¥å¡¼¥È¤Ï¡¢°ìÅÙ¥¢¡¼¥à¤ò³«¤¤¤Æ¤«¤é¥í¥Ü¥Ã¥ÈËÜÂΤ¬¤Ö¤Ä¤«¤ë¤³¤È¤Ç¥·¥å¡¼¥È¤¹¤ë»ÅÁȤߤȤʤäƤ¤¤ë¡£
¤Þ¤¿¥¢¡¼¥àÁ´ÂΤò¾å¤È²¼¤Ç¸ÇÄꤷ¤Æ¤¢¤ë¡£
**¥¢¡¼¥à [#dfaec952]
#ref(./arm4.png)
¼Ì¿¿¤ÎÀÖÀþ¤Ç°Ï¤Þ¤ì¤¿Éôʬ¤¬¤«¤Ê¤á¤Ç¤¢¤ê¡¢¥â¡¼¥¿¡¼¤¬²óž¤¹¤ë¤³¤È¤Ç¡¢¥®¥¢¤¬Æó¤Ä³¤±¤Æ¤Ä¤±¤Æ¤¢¤ë¥®¥¢¤Î¾å¤Î¥®¥¢¤¬²óž¤¹¤ë¤¿¤á¤Ë¡¢¥·¥ã¥Õ¥È¼«ÂΤ¬²óž¤¹¤ë¤³¤È¤Ç¡¢²¼¤Î¥®¥¢¤âƱ»þ¤Ë²óž¤¹¤ë¤Î¤Ç¡¢¤½¤Î¥®¥¢¤È¤«¤ß¹ç¤Ã¤Æ¤¤¤ë¤â¤¦ÊÒÊý¤Î¥·¥ã¥Õ¥È¤â²óž¤¹¤ë¤Î¤Ç¡¢²¼¤Ë¤Ä¤¤¤Æ¤¤¤ë¥Ó¡¼¥à¤Ë¶´¤Þ¤ì¤¿¥¢¡¼¥àÉôʬ¤ò³«ÊĤ¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£
**¥¿¥¤¥äÉôʬ [#p9c61ff8]
´ðËܤÎʪ¤ò¥Ù¡¼¥¹¤Ë¿¿¤óÃæ¤Î¥Ó¡¼¥à¤Ç¤Ç¤¤Æ¤¤¤ëÉôʬ¤ò¤Ê¤¯¤·¡¢½ÐÍè¤ë¤À¤±¾®¤µ¤¯¤Þ¤È¤Þ¤ë¤è¤¦¤ËÁȤ߾夲¤¿¤³¤È¤Ç¥¿¥¤¥ä¤È¥»¥ó¥µ¡¼¤Îµ÷Î¥¤ò½ÐÍè¤ë¤À¤±¶á¤Å¤±¤ë¤è¤¦¤Ë¤·¤¿¤¦¤¨¤Ç¥í¥Ü¥Ã¥È¤ÎÁ°Êý¤ËL»ú¥Ö¥í¥Ã¥¯¤òÁȤ߹þ¤á¤ë¤è¤¦¤Ë¤·¤¿¡£
**¸÷¥»¥ó¥µ¡¼ [#v3946372]
¸÷¥»¥ó¥µ¡¼¤Ï¤Ê¤ë¤Ù¤¯¥¿¥¤¥ä¤Ë¶á¤¤°ÌÃ֤˸ÇÄꤷ¤¿¡£
¥»¥ó¥µ¡¼£±¤ò»È¤Ã¤Æ¤¤¤ë¡£
#ref(./sensor1.png)
***ÉôÉÊ [#if002973]
¥â¡¼¥¿¡¼ ¥Ó¡¼¥à¤Ë¤µ¤«¤µ¤Þ¤ËÉÕ¤¤¤Æ¤¤¤ë¡£
¸÷¥»¥ó¥µ¡¼¡¡L»ú¥Ö¥í¥Ã¥¯¤ÈÁȤ߹ç¤ï¤»¤ÆÆþ¤ì¤Æ¤¤¤ë¡£
¥Ó¡¼¥à¡¡¡¡¡¡ËÜÂξåÉô¤ÈÁö¹Ô¤¹¤ë²¼Éô¤ò¤Ä¤Ê¤°¤è¤¦¤ËL»ú¤Î·Á¤Ë¤Ê¤ë¤è¤¦¤ËÁȤ߾夲¤Æ¤¤¤ë¡£
**ËÜÂÎ [#mfbcf3e3]
´ðËܤÎʪ¤ÎÃæ±ûÉôʬ¤ò³°¤·¤Æ¤è¤ê¥³¥ó¥Ñ¥¯¥È¤Ë¡¢»È¤¤¤ä¤¹¤¤¤è¤¦¤Ëºî¤êÊѤ¨¤¿¡£
¥¢¡¼¥à¤È¤Î·ó¤Í¹ç¤¤¤«¤é¡¢Â礤¤Êý¤Î¥¿¥¤¥ä¤òÁ°¤Ë¤·¤¿¡£
**ÌäÂêÅÀ [#o1055129]
¥¢¡¼¥à¤Ï¥â¡¼¥¿¡¼¤Î³«Å¸¤Ë¤è¤ê¼è¤ì¤ä¤¹¤¯¡¢¤Þ¤¿¸÷¥»¥ó¥µ¡¼¤È¥¢¡¼¥à¤ò´Þ¤àÁ°Éôʬ¤Î¥Ñ¡¼¥Ä¤¬ËÜÂΤ«¤é¤È¤ì¤ä¤¹¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
*¥×¥í¥°¥é¥à¤ÎÀâÌÀ [#qcd64785]
¤Ç¤Ï¤³¤ì¤«¤é¥×¥í¥°¥é¥à¤ÎÀâÌÀ¤ËÆþ¤ë¡£
**¥³¡¼¥¹ÀâÌÀ [#y8e10aa9]
#ref(./course3.png)
¾å¤Î¿Þ¤«¤é¤âʬ¤«¤ëÄ̤ꡢº£²ó¡¢¥í¥Ü¥Ã¥È¤òÁö¤é¤»¤ë¥³¡¼¥¹¤Ï¡¢ÃÏÅÀA¤«¤éÃÏÅÀB¤Þ¤Ç¤Î¤ß¤Á¤Î¤ê¤Ç¤¢¤ë¡£¤³¤Î¥³¡¼¥¹¤ÏP»°ºµÏ©¤ò²á¤®¤¿¤È¤³¤í¤Ë¥Ü¡¼¥ë¤¬¤¢¤ê¡¢¤¹¤°¤ËµÞ¥«¡¼¥Ö¤¬¤¢¤ë¡£Q¸òº¹ÅÀ¤òÅϤ俤¢¤È¤âľ³Ñ¥«¡¼¥Ö¤¬¤¢¤ê¶Ê¤¬¤ê¤Ë¤¯¤¤ÅÀ¤¬¥Ý¥¤¥ó¥È¤Ç¤¢¤ë¡£
**¥×¥í¥°¥é¥à¤Î²òÀâ [#j69a10a9]
***ÄêµÁ [#w0dc38f3]
¤Þ¤º¥×¥í¥°¥é¥à¤ÇÄêµÁ¤·¤¿Êª¤òµó¤²¤Æ¤¤¤¯¡£
#define THRESHOLD 47 /*¤·¤¤¤ÃͤÎÀßÄê*/
#define LOWPOWER 3 /*¥Ñ¥ï¡¼¤ÎÃÍ*/
#define set_power_l SetPower(OUT_AC,LOWPOWER); /*¥Ñ¥ï¡¼¤ÎÀßÄê*/
#define straight set_power_l; OnFwd(OUT_AC); /*Á°¿Ê*/
#define back set_power_l; OnRev(OUT_AC); Wait(60); /*¸åÂà*/
#define LEFT set_power_l; OnFwd(OUT_C); Off(OUT_A); /*º¸¤Ë¶Ê¤¬¤ë*/
#define RIGHT set_power_l; OnFwd(OUT_A); Off(OUT_C); /*±¦¤Ë¶Ê¤¬¤ë*/
#define LEFT_L set_power_l; OnFwd(OUT_C); OnRev(OUT_A); /*º¸¤ËÀû²ó*/
#define RIGHT_L set_power_l; OnFwd(OUT_A); OnRev(OUT_C);/*±¦¤ËÀû²ó*/
#define STOP1 Off(OUT_AC); Wait(200); /*2ÉôÖÄä»ß*/
#define STOP2 Off(OUT_AC); Wait(20); /*0.2ÉôÖÄä»ß*/
#define STEP 1 /*ȽÃǤËÍפ¹¤ë»þ´Ö*/
#define arm_on OnRev(OUT_B); Wait(11); Off(OUT_B); /*¥¢¡¼¥à¤ò³«¤¯*/
#define arm_close OnFwd(OUT_B); Wait(8); Off(OUT_B); /*¥¢¡¼¥à¤òÊĤ¸¤ë*/
#define music PlayTone(523,25); /*¥É¤Î²»¤ò½Ð¤¹*/
#define MOVE_TIME 30 /*¤³¤Î´Ö¤Ëư¤¯*/
#define judge_time 33 /*¸òº¹ÅÀ¤Þ¤¿¤Ï»°ºµÏ©¤Ç¤¢¤ë¤«È½ÃǤ¹¤ëºÝ¤ÎÃÍ*/
***¥µ¥Ö¥ë¡¼¥Á¥ó [#u98024da]
Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
sub line1(){
if(SENSOR_1 <= THRESHOLD-10) {
LEFT; /*¸÷¥»¥ó¥µ¡¼¤¬£³£·°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ïº¸¤Ë¶Ê¤¬¤ë*/
}else{
if (SENSOR_1 <= THRESHOLD-12) {
straight;
}else{
RIGHT; ¡¡
} ClearTimer(0);
}¡¡/*¸÷¥»¥ó¥µ¡¼¤¬£³£µ°Ê²¼¤ÎÃͤò¼¨¤·¤¿»þ¤Ïľ¿Ê¡¢£³£·¤è¤ê¾å¤ÎÃͤò¼¨¤·¤¿»þ¤Ï¡¢±¦¤Ë¶Ê¤¬¤ê¡¢¤½¤Î¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¥¿¥¤¥Þ¡¼¤Ï¥ê¥»¥Ã¥È¤¹¤ë¡£
}
µÞ¥«¡¼¥Ö¤Ë»ÈÍѤ¹¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹
sub line2(){
if(SENSOR_1 <= THRESHOLD-10) {
LEFT_L; /*¸÷¥»¥ó¥µ¡¼¤¬£³£·°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ïº¸Àû²ó¤ò¤¹¤ë¡£*/
}else{
if (SENSOR_1 <=THRESHOLD-12) {
straight;} /*¸÷¥»¥ó¥µ¡¼¤¬£³£µ°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ïľ¿Ê¤¹¤ë¡£*/
}else if (SENSOR_1<= THRESHOLD-3){
RIGHT_L;} /*¸÷¥»¥ó¥µ¡¼¤¬£´£´°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ï±¦Àû²ó¤¹¤ë¡£*/
}else{
RIGHT; } /*¾åµ°Ê³°¤Î¾õ¶·¤Î¾ì¹ç¡¢±¦¤Ë¶Ê¤¬¤ë¡£*/
}
}
»°ºµÏ©¡¢¸òº¹ÅÀ¤òÄ̲᤹¤ë»þ
sub cross()
{
STOP1; /* ÆóÉôÖÄä»ß¤¹¤ë*/
RIGHT_L; Wait(30);¡¡/*¥í¥Ü¥Ã¥È¤Î¸þ¤¤òÄ´À°¤¹¤ë¤¿¤á¤Ë±¦¤ËÀû²ó¤¹¤ë¡£*/
music; /*¸òº¹ÅÀ¡¢»°ºµÏ©¤Ë¤Ä¤¤¤¿¤³¤È¤ò¼¨¤¹¤¿¤á¤ËÌĤ餹¡£*/
straight; Wait(MOVE_TIME); /* ¸òº¹ÅÀ¡¢»°ºµÏ©¤ò²£ÃǤ¹¤ë¡£*/
}
º£²ó¤Î²ÝÂê¤Ç¤Ï¡¢¸òº¹ÅÀ¤ä»°ºµÏ©¤òȽÃǤ·ÆóÉôÖÄä»ß¤¹¤ëɬÍפ¬¤¢¤Ã¤¿¡£¤½¤³¤Ç¥¿¥¤¥Þ¡¼¤ò»ÈÍѤ·¤¿¸òº¹ÅÀ¤Î¼±ÊÌÊýË¡¤ò»È¤¦¤³¤È¤Ë¤·¤¿¡£
¥µ¥Ö¥ë¡¼¥Á¥ó¤Îline1¤Ï¡¢¥¿¥¤¥Þ¡¼£°¤¬ÀßÄꤷ¤Æ¤¢¤ë»þ¡¢¸÷¥»¥ó¥µ¡¼¤¬¹õ¤¤Àþ¤ò¸¡ÃΤ·¤Æ¤¤¤ë´Ö¤À¤±¡¢¥¿¥¤¥Þ¡¼£°¤ò¿Ê¤Þ¤»¤Æ¡¢¤½¤ì°Ê³°¤Î¾õ¶·¤Î»þ¤Ï¾ï¤Ë¥¿¥¤¥Þ¡¼£°¤ò¥ê¥»¥Ã¥È¤·Â³¤±¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¢¤ë¡£¸òº¹ÅÀ¤ä»°ºµÏ©¤Ç¤Ï¡¢¹õ¤¤Àþ¤¬Â³¤±¤ÆÈ½ÃǤµ¤ì¤ë¤³¤È¤òÍøÍѤ·¡¢¹õ¤¤Àþ¤¬Â³¤¤¤Æ¤¤¤ë¤³¤È¤Ç¥¿¥¤¥Þ¡¼£°¤òwhile¤òÍѤ¤¤Æ¤¢¤ëÃ͡ʺ£²ó¤Ç¤Ïjudge_time¤ÈÄêµÁ¤Ä¤±¤¿ÃÍ¡Ë¤Þ¤ÇÆ°¤¯¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢¤½¤ì°Ê³°¤Î¾ì½ê¤Ç¤Ï¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·Â³¤±¡¢¸òº¹ÅÀ¤ä»°ºµÏ©¤Ç¤Ï¼¡¤Îưºî¤Ë°Ü¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¤·¤«¤·¡¢µÞ¥«¡¼¥Ö¤Ëº¹¤·³Ý¤«¤ë¤È¸òº¹ÅÀ¤ÎȽÃǤò¤·¤Æ¤·¤Þ¤¦Â¾¡¢¶Ê¤¬¤êÀÚ¤ì¤Ê¤¤¤Î¤Ç¡¢µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë¤¿¤á¤Ë¡¢line2¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£
line2¤Ï¶Ê¤¬¤ëºÝ¤ÏÀû²ó¤ò»È¤¦¤³¤È¤ÇµÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤êÀڤꡢÀßÄꤷ¤¿¥¿¥¤¥Þ¡¼¤ò»È¤¦¤³¤È¤Ç¡¢µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë»þ´Ö¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë¤Þ¤Çư¤Â³¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
¤Þ¤¿¡¢»°ºµÏ©¤ä¸òº¹ÅÀ¤òÄ̲᤹¤ë¤È¤¤Ë¡¢¤É¤¦¤·¤Æ¤â¤Þ¤Ã¤¹¤°¤Ë¹Ô¤«¤Ê¤¤¤¿¤á¡¢»ÅÊý¤Ê¤¯Àû²ó¤ò»È¤¤°ÌÃÖ¤òÄ´À°¤·¤Æ¤¤¤ë¡£
¥Ü¡¼¥ë¤ÏµÞ¥«¡¼¥Ö¤Î°ÌÃÖ¤ËÃÖ¤¯¤³¤È¤Çline1¤ò»ÈÍѤ·¤ÆÈ½ÃǤ¹¤ë¡£
**¥á¥¤¥ó¥¿¥¹¥¯ [#oe0770ce]
¡¡Á¢
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
ClearTimer(0);
while( FastTimer(0) <= judge_time) {
line1(); Wait(STEP); /*¸òº¹ÅÀ¤Ëº¹¤·³Ý¤«¤ë¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¡£*/
}cross();
ClearTimer(0);
¢¡Á£
while( FastTimer(0) <= judge_time) {
line1(); Wait(STEP);
}STOP2; arm_close; /*¥Ü¡¼¥ë¤Î¤¢¤ë¤È¤³¤í¤Ç¡¢È½ÃǤ·¤Æ»ß¤Þ¤ê¥Ü¡¼¥ë¤òÄϤà*/
£¡Á¤
while( FastTimer(0) <= judge_time) {
line1(); Wait(STEP); /*µÞ¥«¡¼¥Ö¤Ëº¹¤·³Ý¤«¤ë¤Þ¤Ç¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¡£*/
}ClearTimer(0); /*¥¿¥¤¥Þ¡¼£°¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£*/
¤¡Á¥
while( Timer(0) <= 200) {
line2(); Wait(STEP); /*¥¿¥¤¥Þ¡¼¤Ç£²£°£°¤ÎÃͤޤǵޥ«¡¼¥ÖÍѤΥ饤¥ó¥È¥ì¡¼¥¹¤ÇµÞ¥«¡¼¥Ö¤òÁö¤êÀڤ롣*/
}ClearTimer(0); /*¥¿¥¤¥Þ¡¼£°¤ò¥ê¥»¥Ã¥È¤¹¤ë*/
while( FastTimer(0) <= judge_time){
line1();
}cross(); /*¸òº¹ÅÀ¤Î°ÌÃÖ¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¤¡¢¸òº¹ÅÀ¤Ëº¹¤·³Ý¤«¤Ã¤¿¤éÅϤ롣*/
ClearTimer(1); ClearTimer(0); /*¥¿¥¤¥Þ¡¼£°¤È¥¿¥¤¥Þ¡¼£±¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£*/
¥¡Á¦
while( Timer(1) <= 180){
line2(); Wait(STEP); /*ľ³Ñ¥«¡¼¥Ö¤ÎÉôʬ¤òÅϤ뤿¤á¤Ë¥¿¥¤¥Þ¡¼£±¤Î£±£¸£°¤ÎÃͤˤʤë¤Þ¤Ç¤ËµÞ¥«¡¼¥ÖÍѤΥ饤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¡£*/
}
¦¡Á§
while(FastTimer(0) <= judge_time){
line1(); Wait(STEP); /*¥·¥å¡¼¥È¤¹¤ëBÃÏÅÀ¤ÎÁ°¤Ç»ß¤Þ¤ë¤¿¤á¤Ë¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¡£*/
}STOP2; /*BÃÏÅÀ¤ËÍ褿¤éÄä»ß¤¹¤ë¡£*/
arm_on; music;back; straight; Wait(80); STOP2;/*¥·¥å¡¼¥È¤Îưºî*/
}
*Á´ÂΤÎÈ¿¾ÊÅÀ [#jfa94a7a]
°ì¡¡¦¡Á§¤Î´Ö¤Ç¡¢¸íºîư¤ÇÀè¤Ëư¤¤¤Æ¤·¤Þ¤¦¤¿¤á¤ËTimer(0)¤À¤±¤Ç¤Ê¤¯¡¢Timer(1)¤ò»È¤ï¤¶¤ë¤òÆÀ¤Ê¤«¤Ã¤¿ÅÀ¡£
Æó¡¡¤Þ¤¿µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤êÀڤ줺¤Ë²¿²ó¤«¡¢¤ä¤êľ¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ÅÀ¡£
»°¡¡Àû²ó¤Ç¤Ï¤É¤¦¤·¤Æ¤â»þ´Ö»ØÄê¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ì¤º¡¢»þ´Ö¤ò¬¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ÅÀ¡£
*´¶ÁÛ [#u6afa3e8]
º£²ó¤Î²ÝÂê¤â½é¤á¤Ï¤Ç¤¤ë¤«É԰¤Ǥ¢¤Ã¤¿¤¬¡¢²¿¤È¤«¤ä¤ê½ª¤¨¤ë¤³¤È¤¬½ÐÍ褿¡£°ìÅÙ¥×¥í¥°¥é¥à¤òÁ´Éô½ñ¤Ä¾¤¹¤·¤¿¤³¤È¤â¤¢¤ê¡¢´°À®¤·¤Æ¤è¤«¤Ã¤¿¡£
¥Ú¡¼¥¸Ì¾: