2017a/Member/fukupon/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2017a/Member]]
#contents
*²ÝÂê¤Ë¤Ä¤¤¤Æ [#ecb7b652]
#ref(./2017a-mission2.png,11.8KB ,image/jpeg)
¾å¤Î¿Þ¤Ë¤¢¤ë¥³¡¼¥¹¤ò
¡¡¡A¥¹¥¿¡¼¥È
¡¡¢Eľ¿Ê
¡¡£F(SOUND_UP)
¡¡¤Q°ì»þÄä»ß(SOUND_DOWN)¡õº¸ÀÞ
¡¡¥Rľ¿Ê(SOUND_UP)
¡¡¦Sº¸ÀÞ(SOUND_UP)
¡¡§G(SOUND_UP)
¡¡¨H(SOUND_UP)
¡¡©T°ì»þÄä»ß(SOUND_DOWN)¡õľ¿Ê
¡¡ªT°ì»þÄä»ß(SOUND_DOWN)¡õľ¿Ê
¡¡«R°ì»þÄä»ß(SOUND_DOWN)¡õº¸ÀÞ
¡¡¬Sľ¿Ê(SOUND_UP)
¡¡Pº¸ÀÞ(SOUND_UP)
¡¡®E°ì»þÄä»ß(SOUND_DOWN)¡õº¸ÀÞ
¡¡¯AÄä»ß(SOUND_DOWN)
¤È¤¤¤Ã¤¿Æ»½ç¤Ç¿Ê¤à¤è¤¦¤Ê¥í¥Ü¥Ã¥È¤òºî¤ë¤³¤È¡£
¤¿¤À¤·¡¢°Ê²¼¤Î¾ò·ï¤òËþ¤¿¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
¡¡¡¦¤Ê¤ë¤Ù¤¯Â®¤¯Àµ³Î¤ËÆ°¤¯¥í¥Ü¥Ã¥È¤Ë¤Ê¤ë¤è¤¦¤Ë¹©Éפ¹¤ë¤³¤È¡£
¡¡¡¦°ì»þÄä»ß¤Î¸òº¹ÅÀ¤ª¤è¤ÓÃú»úÏ©¤Ç¤ÏSOUND_DOWN¤òÌĤ餷¤¿¸å¡¢1ÉôÖÄä»ß¤¹¤ë¤³¤È¡£
¡¡¡¦Ä¾³Ñ¥³¡¼¥Ê¡¼¤ª¤è¤Ó°ì»þÄä»ß¤¬ÉÔÍפÏÃú»úÏ©¤Ç¤ÏSOUND_UP¤òÌĤ餷¡¢Ää»ß¤·¤Ê¤¤¤Ç¿Ê¤à¤³¤È¡£
¡¡¡¦¥í¥Ü¥Ã¥È¤Ï¥µ¥¤¥º¤Ï¡¢15cm»ÍÊý°ÊÆâ¤È¤¹¤ë¡Ê¹â¤µ¤Ï̵À©¸Â¡Ë¡£
¡¡¡¦¸òº¹ÅÀ¡¢Ãú»úÏ©¡¢Ä¾³Ñ¥³¡¼¥Ê¡¼¤Ë¤Ä¤¤¤Æ¤Ï¡¢º¹¤·³Ý¤«¤Ã¤¿»þÅÀ¤ÇȽÊ̤¹¤ë¤â¤Î¤È¤·¡¢Í½¤áÀßÄꤷ¤¿Áö¹Ô»þ´Ö¤Î¤ß¤ÇȽÄꤷ¤¿¤ê¡¢Áö¹Ôµ÷Î¥¤Î¤ß¤ÇȽÄꤷ¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
*¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ [#q1233b12]
**Á´ÂÎ¿Þ [#b59deb95]
¥í¥Ü¥Ã¥ÈËÜÂΤÏ15Ñ»ÍÊýÆâ¤Ë¼ý¤á¤ë¤È¤¤¤¦À©¸Â¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢¤Ê¤ë¤Ù¤¯¥³¥ó¥Ñ¥¯¥È¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤¿¡£
#ref(./IMG_0128.JPG,134.7KB ,image/jpeg)
#ref(./IMG_0129.JPG,125.6KB ,image/jpeg)
**¼ÖÎØÉôʬ [#s0f2e5bf]
½é¤á¤ÏÁ°ÆóÎØ¡¢¸å¤í°ìÎؤλ°Îؤˤ·¤Æ¤¤¤¿¤¬¡¢¸å¤í¤Ë¥¿¥¤¥ä¤ò¤Ä¤±¤ë¤È¾®²ó¤ê¤¬Íø¤«¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¸å¤í¤Ï»Ù¤¨¤ë¤À¤±¤Ë¤·¤¿¡£
¤Þ¤¿¡¢¾®²ó¤ê¤¬Íø¤¯¤è¤¦¤Ëξ¦¤Î¼ÖÎؤò¶á¤¯¤Ê¤ëÍͤˤ·¤Æ¤ß¤¿¡£
#ref(./IMG_0132.JPG,104.7KB ,image/jpeg)
**¥»¥ó¥µ¡¼Éôʬ [#a2016db7]
¥»¥ó¥µ¡¼¤Î°ÌÃÖ¤ÇÆ°¤¤¬ÊѤï¤Ã¤¿¤ê¤¹¤ë¤Î¤Ç¡¢ËÜÂΤ«¤é±ó¤¹¤®¤º¶á¤¹¤®¤º¡¢¤Þ¤¿¡¢»æ¤Ë¤Ê¤ë¤Ù¤¯¶á¤¯¤Ê¤ë¤è¤¦¤Ë¤·¤¿¡£
#ref(./IMG_0133.JPG,100.4KB ,image/jpeg)
*¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ [#n8bb806b]
Á°²ó¤Ï¡¢¥Þ¥¯¥í¤Ê¤É¤òÄêµÁ¤·¤Ê¤«¤Ã¤¿¤»¤¤¤Ç¥×¥í¥°¥é¥à¤¬Ä¹¤¯¤Ê¤ê¥¢¥É¥Ð¥¤¥¹¤ò¼õ¤±¤¿¤Î¤Ç¡¢º£²ó¤Ï¤Ê¤ë¤Ù¤¯¤Þ¤È¤á¤é¤ì¤ë¤È¤³¤í¤Ï¤Þ¤È¤á¤Æ¡¢¥³¥ó¥Ñ¥¯¥È¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤¿¡£
**Äê¿ô¡¦¥Þ¥¯¥í [#i8468af5]
¤¢¤é¤«¤¸¤áÌÀ¤ë¤µ¤Î´ð½àÃͤò·è¤á¤Æ¤ª¤¤¤Æ¡¢¤½¤ÎÃͤ«¤é¤¤¤¯¤ÄÎ¥¤ì¤¿¤é¤³¤¦¤¹¤ë¡¢¤È¤¤¤Ã¤¿¤è¤¦¤Ê´¶¤¸¤Ë¤·¤¿¡£
¤Þ¤¿¡¢¶Ê¤¬¤ë¾ì½ê¤Ë¤è¤Ã¤Æ³ÑÅÙ¤¬ÊѤï¤ë¤Î¤Ç¡¢¶Ê¤¬¤ëÊý¸þ¤¬Æ±¤¸¤Ç¤â¾ì½ê¤Ë±þ¤¸¤Æ2¤Ä¤Ëʬ¤±¤Æ¤ß¤¿¤ê¡¢¸òº¹ÅÀ¤Îľ¿Ê¤«º¸ÀÞ¤«¤ÎȽÃǤò¤¹¤ë¤¿¤á¤Ë»þ´Ö¤ò·×¤Ã¤¿¤ê¤·¤¿¡£
#define THRESHOLD 45
#define go_forward OnFwd(OUT_AC); //ľ¿Ê
#define turn_right0 OnFwd(OUT_A);OnRev(OUT_C); //±¦Àû²ó
#define turn_right1 OnFwd(OUT_A); //±¦ÀÞ
#define turn_left0 OnRev(OUT_A);OnFwd(OUT_C); //º¸Àû²ó
#define turn_left1 OnFwd(OUT_C); //º¸ÀÞ
#define s_up PlaySound(SOUND_UP);
#define s_down PlaySound(SOUND_DOWN);
#define Tmax 29 //¥é¥¤¥ó¾å¤òÁö¤ë»þ´Ö¤Î¾å¸Â
int t=0; //¥é¥¤¥ó¾å¤ËTmax°Ê¾å¤¤¤¿²ó¿ô
**¥µ¥Ö¥ë¡¼¥Á¥ó [#c0601493]
°ì»þÄä»ß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤³¤í¤Ç¤ÎÆ°ºî¡£
sub cross_stop(){
Off(OUT_AC);Wait(100);
s_down;
}
ľ³Ñ¤Ëº¸ÀÞ¤¹¤ë¤È¤³¤í¤Ç¤ÎÆ°ºî¡£
sub cross_left(){
s_up;
turn_left0;
until(SENSOR_2 < THRESHOLD -3);
}¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¥¬¤Ë¤ª¤¤¤Æ¡¢¸òº¹ÅÀ¤òľ¿Ê¤¹¤ë¤¿¤á¤Î¤â¤Î¡£
sub cross_straight(){
turn_right1;
Wait(20);
go_forward;
until(SENSOR_2 < THRESHOLD -3);
turn_right1;
until(SENSOR_2 < THRESHOLD +8);
}
Tmax¤òĶ¤¨¤ë¤Þ¤Ç¥é¥¤¥ó¤Îº¸Â¦¤ò¤Ê¤¾¤ë¡£
sub linetrace0(){
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<Tmax){
if(SENSOR_2 < THRESHOLD -8){
turn_left0; //Ç»¤¤¹õ¤Î¤È¤¤Ïº¸Àû²ó
}else if(SENSOR_2 < THRESHOLD -3){
turn_left1; //Çö¤¤¹õ¤Î¤È¤¤Ïº¸ÀÞ
}else if(SENSOR_2 < THRESHOLD +3){
go_forward; //¹õ¤ÈÇò¤ÎÃæ´Ö¤Î¤È¤¤Ïľ¿Ê
}else if(SENSOR_2 < THRESHOLD +8){
turn_right1; //Çö¤¤Çò¤Î¤È¤¤Ï±¦ÀÞ
}else {
turn_right0; //Ç»¤¤Çò¤Î¤È¤¤Ï±¦Àû²ó
}
if(SENSOR_2 < THRESHOLD -8){
ClearTimer(0);
} //Ç»¤¤¹õ¤Î¾å¤Ë¤¤¤ë»þ´Ö¤ò·×¤ë
}
t+=1; //Tmax¤ò¤³¤¨¤¿¤ét¤ò1Áý¤ä¤¹
}
sÉô֡¢»þ´Ö¤ò·×¤é¤º¤Ë¥é¥¤¥ó¤Îº¸Â¦¤ò¤¿¤É¤ë
void linetrace1(int s){
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(2);
while(FastTimer(2)<s){
if(SENSOR_2 < THRESHOLD -8){
turn_left0;
}else if(SENSOR_2 < THRESHOLD -3){
turn_left1;
}else if(SENSOR_2 < THRESHOLD +3){
go_forward;
}else if(SENSOR_2 < THRESHOLD +8){
turn_right1;
}else {
turn_right0;
}
ClearTimer(0);
}
}
ºÙ¤«¤¤¤È¤³¤í¤ò¤¤ì¤¤¤Ë¤¿¤É¤ì¤ë¤è¤¦¤Ë¡¢¤½¤³¤À¤±¤ÏÆÃÊÌ¤Ë¥×¥í¥°¥é¥à¤òÁȤó¤À¡£
sub linetrace_2(){
SetSensor(SENSOR_2,SENSOR_LIGHT);
while(FastTimer(0)<26){
if(SENSOR_2 < THRESHOLD -8){
turn_left0;
}else if(SENSOR_2 < THRESHOLD -3){
turn_left1;
}else if(SENSOR_2 < THRESHOLD +3){
go_forward;
}else if(SENSOR_2 < THRESHOLD +8){
turn_right1;
}else {
turn_right0;
}
if(SENSOR_2 < THRESHOLD -8){
ClearTimer(0);
}
}
t+=1;
}
**¥×¥í¥°¥é¥à [#rc5bcfc9]
¡Öt==0¡×¤Î¤È¤¡¢ºÇ½é¤Î¡Öif¡×¤ÎÃæ¤ËÆþ¤ë¡£¸òº¹ÅÀ¤ò¸«¤Ä¤±¤ë¤È¡Ölinetrace0¡×¤¬½ª¤ï¤ë¡£
¤³¤Î¤È¤¡Öt==1¡×¤Ë¤Ê¤ë¤¬¡¢¡Öif¡×¤ÎÆ°ºî¤¬½ª¤ï¤ë¤Þ¤Ç¡Öif¡×¤Î¤Þ¤Þ¡£
¤½¤·¤Æ¡Öcross_left¡×¤Ë°Ü¤ë¡£ ¡Öcross_left¡×¤¬½ª¤ï¤ë¤È¡Öt==0¡×¤Î¡Öif¡×¤«¤é½Ð¤Æ¡¢¡Öt==1¡×¤Î¡Öif¡×¤ËÆþ¤ë¡£
(²¿Åٻ¤Æ¤â¡Ötask main¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡×¤È¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¢Æ°¤«¤¹¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿)
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(<=13){
if(t==0){
linetrace1(6000); //¡¢
linetrace0();
cross_left(); //£
}else if((t==1)||(t==8)||(t==11)){
linetrace0();
cross_stop();
turn_left0;until(SENSOR_2 < THRESHOLD +3); //¤«®
}else if((t==2)||(t==9)){
linetrace1(500);
linetrace2();
s_up;
cross_straight(); //¥¬
}else if((t==3)||(t==10)){
linetrace1(500);
linetrace0();
cross_left(); //¦
}else if(t==4){
linetrace0();
cross_left(); //§
}else if(t==5){
linetrace1(4000);
linetrace0();
cross_left();
ClearTimer(0); //¨
}else if(t==6){
linetrace0();
cross_stop();
cross_straight(); //©
}else if(t==7){
linetrace1(2000);
linetrace0();
cross_stop();
cross_straight(); //ª
}else if(t==12){
linetrace0();
s_down;
Off(OUT_AC); //¯
}
}
}
*·ë²Ì¤ÈÈ¿¾Ê [#i2e58b0b]
¤¿¤Àñ¤Ë¥é¥¤¥ó¤È¥ì¡¼¥¹¤ò¤¹¤ë¥×¥í¥°¥é¥à¤Ï´Êñ¤Ëºî¤ë¤³¤È¤¬¤Ç¤¤¿¡£
¤·¤«¤·¡¢¸òº¹ÅÀ¤ÎȽÃÇ¤Ê¤É¤Î¥×¥í¥°¥é¥à¤Ë´Ø¤·¤Æ¤Ï¡¢¼«Ê¬°ì¿Í¤Ç¤ä¤Ã¤Æ¤ß¤Æ¤â¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¤È¤³¤í¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢¤Ç¤¤Æ¤¤¤ë¿Í¤Î¤â¤Î¤ò»²¹Í¤Ë¤·¤¿¤ê¡¢¶µ¤¨¤Æ¤â¤é¤Ã¤¿¤ê¤·¤Æ²¿¤È¤«´°À®¤·¤¿¤È»×¤Ã¤¿¤¬¡¢¤Ê¤¼¤«task main¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Èɽ¼¨¤µ¤ì¤Æ¤Ç¤¤Ê¤«¤Ã¤¿¡£
¤Þ¤¿¡¢²ÝÂê¤ÎÆâÍƤÏÁ°²ó¤è¤êñ½ã¤Ê¤â¤Î¤À¤Ã¤¿¤¬¡¢¥×¥í¥°¥é¥à¤òÁȤà¤È¤Ê¤ë¤È¤½¤¦¤â¤¤¤«¤º¤È¤Æ¤â¶ìÏ«¤·¤¿¡£Ãæ¤Ç¤â¡¢¸òº¹ÅÀ¤ò¶Ê¤¬¤ë¤«¶Ê¤¬¤é¤Ê¤¤¤«¤Î¶èÊ̤ò¤µ¤»¤ë¤Î¤¬°ìÈÖÆñ¤·¤«¤Ã¤¿¡£
½ªÎ»¹Ô:
[[2017a/Member]]
#contents
*²ÝÂê¤Ë¤Ä¤¤¤Æ [#ecb7b652]
#ref(./2017a-mission2.png,11.8KB ,image/jpeg)
¾å¤Î¿Þ¤Ë¤¢¤ë¥³¡¼¥¹¤ò
¡¡¡A¥¹¥¿¡¼¥È
¡¡¢Eľ¿Ê
¡¡£F(SOUND_UP)
¡¡¤Q°ì»þÄä»ß(SOUND_DOWN)¡õº¸ÀÞ
¡¡¥Rľ¿Ê(SOUND_UP)
¡¡¦Sº¸ÀÞ(SOUND_UP)
¡¡§G(SOUND_UP)
¡¡¨H(SOUND_UP)
¡¡©T°ì»þÄä»ß(SOUND_DOWN)¡õľ¿Ê
¡¡ªT°ì»þÄä»ß(SOUND_DOWN)¡õľ¿Ê
¡¡«R°ì»þÄä»ß(SOUND_DOWN)¡õº¸ÀÞ
¡¡¬Sľ¿Ê(SOUND_UP)
¡¡Pº¸ÀÞ(SOUND_UP)
¡¡®E°ì»þÄä»ß(SOUND_DOWN)¡õº¸ÀÞ
¡¡¯AÄä»ß(SOUND_DOWN)
¤È¤¤¤Ã¤¿Æ»½ç¤Ç¿Ê¤à¤è¤¦¤Ê¥í¥Ü¥Ã¥È¤òºî¤ë¤³¤È¡£
¤¿¤À¤·¡¢°Ê²¼¤Î¾ò·ï¤òËþ¤¿¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
¡¡¡¦¤Ê¤ë¤Ù¤¯Â®¤¯Àµ³Î¤ËÆ°¤¯¥í¥Ü¥Ã¥È¤Ë¤Ê¤ë¤è¤¦¤Ë¹©Éפ¹¤ë¤³¤È¡£
¡¡¡¦°ì»þÄä»ß¤Î¸òº¹ÅÀ¤ª¤è¤ÓÃú»úÏ©¤Ç¤ÏSOUND_DOWN¤òÌĤ餷¤¿¸å¡¢1ÉôÖÄä»ß¤¹¤ë¤³¤È¡£
¡¡¡¦Ä¾³Ñ¥³¡¼¥Ê¡¼¤ª¤è¤Ó°ì»þÄä»ß¤¬ÉÔÍפÏÃú»úÏ©¤Ç¤ÏSOUND_UP¤òÌĤ餷¡¢Ää»ß¤·¤Ê¤¤¤Ç¿Ê¤à¤³¤È¡£
¡¡¡¦¥í¥Ü¥Ã¥È¤Ï¥µ¥¤¥º¤Ï¡¢15cm»ÍÊý°ÊÆâ¤È¤¹¤ë¡Ê¹â¤µ¤Ï̵À©¸Â¡Ë¡£
¡¡¡¦¸òº¹ÅÀ¡¢Ãú»úÏ©¡¢Ä¾³Ñ¥³¡¼¥Ê¡¼¤Ë¤Ä¤¤¤Æ¤Ï¡¢º¹¤·³Ý¤«¤Ã¤¿»þÅÀ¤ÇȽÊ̤¹¤ë¤â¤Î¤È¤·¡¢Í½¤áÀßÄꤷ¤¿Áö¹Ô»þ´Ö¤Î¤ß¤ÇȽÄꤷ¤¿¤ê¡¢Áö¹Ôµ÷Î¥¤Î¤ß¤ÇȽÄꤷ¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
*¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ [#q1233b12]
**Á´ÂÎ¿Þ [#b59deb95]
¥í¥Ü¥Ã¥ÈËÜÂΤÏ15Ñ»ÍÊýÆâ¤Ë¼ý¤á¤ë¤È¤¤¤¦À©¸Â¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢¤Ê¤ë¤Ù¤¯¥³¥ó¥Ñ¥¯¥È¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤¿¡£
#ref(./IMG_0128.JPG,134.7KB ,image/jpeg)
#ref(./IMG_0129.JPG,125.6KB ,image/jpeg)
**¼ÖÎØÉôʬ [#s0f2e5bf]
½é¤á¤ÏÁ°ÆóÎØ¡¢¸å¤í°ìÎؤλ°Îؤˤ·¤Æ¤¤¤¿¤¬¡¢¸å¤í¤Ë¥¿¥¤¥ä¤ò¤Ä¤±¤ë¤È¾®²ó¤ê¤¬Íø¤«¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¸å¤í¤Ï»Ù¤¨¤ë¤À¤±¤Ë¤·¤¿¡£
¤Þ¤¿¡¢¾®²ó¤ê¤¬Íø¤¯¤è¤¦¤Ëξ¦¤Î¼ÖÎؤò¶á¤¯¤Ê¤ëÍͤˤ·¤Æ¤ß¤¿¡£
#ref(./IMG_0132.JPG,104.7KB ,image/jpeg)
**¥»¥ó¥µ¡¼Éôʬ [#a2016db7]
¥»¥ó¥µ¡¼¤Î°ÌÃÖ¤ÇÆ°¤¤¬ÊѤï¤Ã¤¿¤ê¤¹¤ë¤Î¤Ç¡¢ËÜÂΤ«¤é±ó¤¹¤®¤º¶á¤¹¤®¤º¡¢¤Þ¤¿¡¢»æ¤Ë¤Ê¤ë¤Ù¤¯¶á¤¯¤Ê¤ë¤è¤¦¤Ë¤·¤¿¡£
#ref(./IMG_0133.JPG,100.4KB ,image/jpeg)
*¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ [#n8bb806b]
Á°²ó¤Ï¡¢¥Þ¥¯¥í¤Ê¤É¤òÄêµÁ¤·¤Ê¤«¤Ã¤¿¤»¤¤¤Ç¥×¥í¥°¥é¥à¤¬Ä¹¤¯¤Ê¤ê¥¢¥É¥Ð¥¤¥¹¤ò¼õ¤±¤¿¤Î¤Ç¡¢º£²ó¤Ï¤Ê¤ë¤Ù¤¯¤Þ¤È¤á¤é¤ì¤ë¤È¤³¤í¤Ï¤Þ¤È¤á¤Æ¡¢¥³¥ó¥Ñ¥¯¥È¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤¿¡£
**Äê¿ô¡¦¥Þ¥¯¥í [#i8468af5]
¤¢¤é¤«¤¸¤áÌÀ¤ë¤µ¤Î´ð½àÃͤò·è¤á¤Æ¤ª¤¤¤Æ¡¢¤½¤ÎÃͤ«¤é¤¤¤¯¤ÄÎ¥¤ì¤¿¤é¤³¤¦¤¹¤ë¡¢¤È¤¤¤Ã¤¿¤è¤¦¤Ê´¶¤¸¤Ë¤·¤¿¡£
¤Þ¤¿¡¢¶Ê¤¬¤ë¾ì½ê¤Ë¤è¤Ã¤Æ³ÑÅÙ¤¬ÊѤï¤ë¤Î¤Ç¡¢¶Ê¤¬¤ëÊý¸þ¤¬Æ±¤¸¤Ç¤â¾ì½ê¤Ë±þ¤¸¤Æ2¤Ä¤Ëʬ¤±¤Æ¤ß¤¿¤ê¡¢¸òº¹ÅÀ¤Îľ¿Ê¤«º¸ÀÞ¤«¤ÎȽÃǤò¤¹¤ë¤¿¤á¤Ë»þ´Ö¤ò·×¤Ã¤¿¤ê¤·¤¿¡£
#define THRESHOLD 45
#define go_forward OnFwd(OUT_AC); //ľ¿Ê
#define turn_right0 OnFwd(OUT_A);OnRev(OUT_C); //±¦Àû²ó
#define turn_right1 OnFwd(OUT_A); //±¦ÀÞ
#define turn_left0 OnRev(OUT_A);OnFwd(OUT_C); //º¸Àû²ó
#define turn_left1 OnFwd(OUT_C); //º¸ÀÞ
#define s_up PlaySound(SOUND_UP);
#define s_down PlaySound(SOUND_DOWN);
#define Tmax 29 //¥é¥¤¥ó¾å¤òÁö¤ë»þ´Ö¤Î¾å¸Â
int t=0; //¥é¥¤¥ó¾å¤ËTmax°Ê¾å¤¤¤¿²ó¿ô
**¥µ¥Ö¥ë¡¼¥Á¥ó [#c0601493]
°ì»þÄä»ß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤³¤í¤Ç¤ÎÆ°ºî¡£
sub cross_stop(){
Off(OUT_AC);Wait(100);
s_down;
}
ľ³Ñ¤Ëº¸ÀÞ¤¹¤ë¤È¤³¤í¤Ç¤ÎÆ°ºî¡£
sub cross_left(){
s_up;
turn_left0;
until(SENSOR_2 < THRESHOLD -3);
}¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¥¬¤Ë¤ª¤¤¤Æ¡¢¸òº¹ÅÀ¤òľ¿Ê¤¹¤ë¤¿¤á¤Î¤â¤Î¡£
sub cross_straight(){
turn_right1;
Wait(20);
go_forward;
until(SENSOR_2 < THRESHOLD -3);
turn_right1;
until(SENSOR_2 < THRESHOLD +8);
}
Tmax¤òĶ¤¨¤ë¤Þ¤Ç¥é¥¤¥ó¤Îº¸Â¦¤ò¤Ê¤¾¤ë¡£
sub linetrace0(){
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<Tmax){
if(SENSOR_2 < THRESHOLD -8){
turn_left0; //Ç»¤¤¹õ¤Î¤È¤¤Ïº¸Àû²ó
}else if(SENSOR_2 < THRESHOLD -3){
turn_left1; //Çö¤¤¹õ¤Î¤È¤¤Ïº¸ÀÞ
}else if(SENSOR_2 < THRESHOLD +3){
go_forward; //¹õ¤ÈÇò¤ÎÃæ´Ö¤Î¤È¤¤Ïľ¿Ê
}else if(SENSOR_2 < THRESHOLD +8){
turn_right1; //Çö¤¤Çò¤Î¤È¤¤Ï±¦ÀÞ
}else {
turn_right0; //Ç»¤¤Çò¤Î¤È¤¤Ï±¦Àû²ó
}
if(SENSOR_2 < THRESHOLD -8){
ClearTimer(0);
} //Ç»¤¤¹õ¤Î¾å¤Ë¤¤¤ë»þ´Ö¤ò·×¤ë
}
t+=1; //Tmax¤ò¤³¤¨¤¿¤ét¤ò1Áý¤ä¤¹
}
sÉô֡¢»þ´Ö¤ò·×¤é¤º¤Ë¥é¥¤¥ó¤Îº¸Â¦¤ò¤¿¤É¤ë
void linetrace1(int s){
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(2);
while(FastTimer(2)<s){
if(SENSOR_2 < THRESHOLD -8){
turn_left0;
}else if(SENSOR_2 < THRESHOLD -3){
turn_left1;
}else if(SENSOR_2 < THRESHOLD +3){
go_forward;
}else if(SENSOR_2 < THRESHOLD +8){
turn_right1;
}else {
turn_right0;
}
ClearTimer(0);
}
}
ºÙ¤«¤¤¤È¤³¤í¤ò¤¤ì¤¤¤Ë¤¿¤É¤ì¤ë¤è¤¦¤Ë¡¢¤½¤³¤À¤±¤ÏÆÃÊÌ¤Ë¥×¥í¥°¥é¥à¤òÁȤó¤À¡£
sub linetrace_2(){
SetSensor(SENSOR_2,SENSOR_LIGHT);
while(FastTimer(0)<26){
if(SENSOR_2 < THRESHOLD -8){
turn_left0;
}else if(SENSOR_2 < THRESHOLD -3){
turn_left1;
}else if(SENSOR_2 < THRESHOLD +3){
go_forward;
}else if(SENSOR_2 < THRESHOLD +8){
turn_right1;
}else {
turn_right0;
}
if(SENSOR_2 < THRESHOLD -8){
ClearTimer(0);
}
}
t+=1;
}
**¥×¥í¥°¥é¥à [#rc5bcfc9]
¡Öt==0¡×¤Î¤È¤¡¢ºÇ½é¤Î¡Öif¡×¤ÎÃæ¤ËÆþ¤ë¡£¸òº¹ÅÀ¤ò¸«¤Ä¤±¤ë¤È¡Ölinetrace0¡×¤¬½ª¤ï¤ë¡£
¤³¤Î¤È¤¡Öt==1¡×¤Ë¤Ê¤ë¤¬¡¢¡Öif¡×¤ÎÆ°ºî¤¬½ª¤ï¤ë¤Þ¤Ç¡Öif¡×¤Î¤Þ¤Þ¡£
¤½¤·¤Æ¡Öcross_left¡×¤Ë°Ü¤ë¡£ ¡Öcross_left¡×¤¬½ª¤ï¤ë¤È¡Öt==0¡×¤Î¡Öif¡×¤«¤é½Ð¤Æ¡¢¡Öt==1¡×¤Î¡Öif¡×¤ËÆþ¤ë¡£
(²¿Åٻ¤Æ¤â¡Ötask main¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡×¤È¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¢Æ°¤«¤¹¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿)
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(<=13){
if(t==0){
linetrace1(6000); //¡¢
linetrace0();
cross_left(); //£
}else if((t==1)||(t==8)||(t==11)){
linetrace0();
cross_stop();
turn_left0;until(SENSOR_2 < THRESHOLD +3); //¤«®
}else if((t==2)||(t==9)){
linetrace1(500);
linetrace2();
s_up;
cross_straight(); //¥¬
}else if((t==3)||(t==10)){
linetrace1(500);
linetrace0();
cross_left(); //¦
}else if(t==4){
linetrace0();
cross_left(); //§
}else if(t==5){
linetrace1(4000);
linetrace0();
cross_left();
ClearTimer(0); //¨
}else if(t==6){
linetrace0();
cross_stop();
cross_straight(); //©
}else if(t==7){
linetrace1(2000);
linetrace0();
cross_stop();
cross_straight(); //ª
}else if(t==12){
linetrace0();
s_down;
Off(OUT_AC); //¯
}
}
}
*·ë²Ì¤ÈÈ¿¾Ê [#i2e58b0b]
¤¿¤Àñ¤Ë¥é¥¤¥ó¤È¥ì¡¼¥¹¤ò¤¹¤ë¥×¥í¥°¥é¥à¤Ï´Êñ¤Ëºî¤ë¤³¤È¤¬¤Ç¤¤¿¡£
¤·¤«¤·¡¢¸òº¹ÅÀ¤ÎȽÃÇ¤Ê¤É¤Î¥×¥í¥°¥é¥à¤Ë´Ø¤·¤Æ¤Ï¡¢¼«Ê¬°ì¿Í¤Ç¤ä¤Ã¤Æ¤ß¤Æ¤â¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¤È¤³¤í¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢¤Ç¤¤Æ¤¤¤ë¿Í¤Î¤â¤Î¤ò»²¹Í¤Ë¤·¤¿¤ê¡¢¶µ¤¨¤Æ¤â¤é¤Ã¤¿¤ê¤·¤Æ²¿¤È¤«´°À®¤·¤¿¤È»×¤Ã¤¿¤¬¡¢¤Ê¤¼¤«task main¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Èɽ¼¨¤µ¤ì¤Æ¤Ç¤¤Ê¤«¤Ã¤¿¡£
¤Þ¤¿¡¢²ÝÂê¤ÎÆâÍƤÏÁ°²ó¤è¤êñ½ã¤Ê¤â¤Î¤À¤Ã¤¿¤¬¡¢¥×¥í¥°¥é¥à¤òÁȤà¤È¤Ê¤ë¤È¤½¤¦¤â¤¤¤«¤º¤È¤Æ¤â¶ìÏ«¤·¤¿¡£Ãæ¤Ç¤â¡¢¸òº¹ÅÀ¤ò¶Ê¤¬¤ë¤«¶Ê¤¬¤é¤Ê¤¤¤«¤Î¶èÊ̤ò¤µ¤»¤ë¤Î¤¬°ìÈÖÆñ¤·¤«¤Ã¤¿¡£
¥Ú¡¼¥¸Ì¾: