¤Ï¤¸¤á¤Ë

²ÝÂê¤ÎÀâÌÀ

²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¡Ö¥ß¥Ã¥·¥ç¥ó¡×¤ò¿ë¹Ô¤¹¤ë¤¿¤á¤Î¥í¥Ü¥Ã¥È¤òºîÀ®¤»¤è¡£

¥³¡¼¥¹

¹õÀþ¤ÎÉý¤Ï20mm¤Ç¤Ê¤ë¤Ù¤¯¶ÑÅù¤ÊÇ»¤µ¤Ë¤¹¤ë¤³¤È¡£¤Ê¤ª¿Þ¤ÎÃæ¤ÎÀ£Ë¡¤Îñ°Ì¤Ïcm¤Ç¡¢¹õÀþ¤Ë¤Ä¤¤¤Æ¤Ï¤½¤Î¿¿¤óÃ椫¤é¤Îµ÷Î¥¤Ç¤¢¤ë¡£

2016a-mission2.png

¥ß¥Ã¥·¥ç¥ó

¼¡¤Î¤¤¤º¤ì¤«¤Î·ÐÏ©¤ò¹õ¤¤Àþ¤Ë¤½¤Ã¤ÆÆ°¤¯¥í¥Ü¥Ã¥È¤òºîÀ®¤¹¤ë (¾¤Î¥á¥ó¥Ð¡¼¤È¤ÏÊ̤ηÐÏ©¤Ë¤Ê¤ë¤è¤¦¤Ë¤¹¤ë)¡£¤¿¤À¤·¡¢¤Ê¤ë¤Ù¤¯Â®¤¯Àµ³Î¤ËÆ°¤¯¥í¥Ü¥Ã¥È¤Ë¤Ê¤ë¤è¤¦¤Ë¹©Éפ·¤Æ¡¢¸òº¹ÅÀ¤Ç¤Ï1ÉôÖÄä»ß¤¹¤ë¤³¤È¡£

¼«Ê¬¤Î¥³¡¼¥¹

¼«Ê¬¤ÏAÃÏÅÀ¤«¤éBÃÏÅÀ¡ÊAÃÏÅÀ ¢ª Pľ¿Ê ¢ª Qľ¿Ê ¢ª Qľ¿Ê ¢ª Rº¸ÀÞ ¢ª BÃÏÅÀ¡Ë¤Ø¹Ô¤¯¥³¡¼¥¹¤òôÅö¤·¤¿¡£

¥í¥Ü¥Ã¥È¤ÎÀâÌÀ

DSC_0769.png


DSC_0771.png

¥µ¥ó¥×¥ë¤Î¥í¥Ü¥Ã¥È¤Ë¸÷¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¤¿¡£
¸÷¥»¥ó¥µ¡¼¤Î¼è¤êÉÕ¤±Êý¤ÏÀâÌÀ½ñÄ̤ê¤Ë¹Ô¤Ã¤¿¡£
¥í¥Ü¥Ã¥È¤Îµ¡ÂΤˤϤ¢¤Þ¤ê¹©Éפ¬¤Ç¤­¤Ê¤«¤Ã¤¿¡£
¸÷¥»¥ó¥µ¡¼¤Î°ÌÃÖ¤ò¤â¤Ã¤Èµ¡ÂΤ˶á¤Å¤±¤¿¤ê¤¹¤ì¤Ð¤â¤Ã¤È·ë²Ì¤¬ÊѤï¤Ã¤¿¤«¤â¤·¤ì¤Ê¤¤¡£

¥×¥í¥°¥é¥à¤ÎÀâÌÀ

¥×¥í¥°¥é¥à

°Ê²¼¤¬º£²ó»ÈÍѤ·¤¿¥×¥í¥°¥é¥à¤ÎÁ´ÂΤǤ¢¤ë¡£

#define BLACK 45
#define WHITE 54 
#define SPEED1 20
#define SPEED2 30
#define go_forward OnFwd(OUT_BC,SPEED2);
#define turn_left(t,w1,w2) OnFwd(OUT_B,w1); OnRev(OUT_C,w2); Wait(t);Off(OUT_BC);
#define turn_left1 OnFwd(OUT_B,SPEED1);Off(OUT_C);
#define turn_left2 OnFwd(OUT_B,SPEED1);OnRev(OUT_C,SPEED1);
#define turn_right(t,w1,w2) OnFwd(OUT_C,w1); OnRev(OUT_A,w2); Wait(t);Off(OUT_BC);
#define turn_right1 Off(OUT_B);OnFwd(OUT_C,SPEED1);
#define turn_right2 OnRev(OUT_B,SPEED1);OnFwd(OUT_C,SPEED1);
#define STEP 1
#define short_break Off(OUT_BC);Wait(1000);PlaySound(SOUND_UP);
#define cross_line go_forward;Wait(200);Off(OUT_BC);Wait(1000);
#define nMAX 330

void line_trace()
{
	SetSensorLight(S1);
	int nOnline=0;
	while (nOnline < nMAX ) {
	if (SENSOR_1 < BLACK-5) {
	turn_left2;
	nOnline++;
	} else {
	if (SENSOR_1 < BLACK) {
	turn_left1;
	} else if (SENSOR_1 < WHITE) {
	go_forward;
	} else if (SENSOR_1 < WHITE+5) {
	turn_right1;
	} else {
	turn_right2;
	}
	nOnline=0;
	}
	Wait(STEP);
	}
	short_break;
	nOnline=0;
	Off(OUT_BC);
}

void line_closs()
{
	cross_line;
	SetSensorLight(S1);
	do{
	if (SENSOR_1 < BLACK) {
	turn_right1;
	} else if (SENSOR_1 > WHITE) {
	turn_left2;
	}
	}
	while((SENSOR_1 > BLACK)&&(SENSOR_1 < WHITE));
	Off(OUT_BC);
}

void line_left()
{
	cross_line;
	turn_left(1000,20,20)
	SetSensorLight(S1);
	do{
	if (SENSOR_1 < BLACK) {
	turn_right1;
	} else if (SENSOR_1 > WHITE) {
	turn_left2;
	}
	}
	while((SENSOR_1 > BLACK)&&(SENSOR_1 < WHITE));
	Off(OUT_BC);
}

void last_move()
{
	go_forward;
	Wait(1500);
	Off(OUT_BC);
}

task main()
{
	line_trace();
	line_closs();
	line_trace();
	line_closs();
	line_trace();
	line_closs();
	line_trace();
	line_left();
	line_trace();
	last_move();
}

¥×¥í¥°¥é¥à¤Î¾ÜºÙ¤È¹©Éפ·¤¿ÅÀ¤ÎÀâÌÀ

ÄêµÁ

#define BLACK 45¡¡//¹õ¿§¤ÎÄêµÁ
#define WHITE 54¡¡//Çò¿§¤ÎÄêµÁ
#define SPEED1 20
#define SPEED2 30
#define go_forward OnFwd(OUT_BC,SPEED2);¡¡//Á°¿Ê
#define turn_left(t,w1,w2) OnFwd(OUT_B,w1); OnRev(OUT_C,w2); Wait(t);Off(OUT_BC);¡¡//º¸¤Ë¶Ê¤¬¤ë
#define turn_left1 OnFwd(OUT_B,SPEED1);Off(OUT_C);¡¡//º¸¤Ë¶Ê¤¬¤ë­¡
#define turn_left2 OnFwd(OUT_B,SPEED1);OnRev(OUT_C,SPEED1);¡¡//º¸¤Ë¶Ê¤¬¤ë­¢
#define turn_right(t,w1,w2) OnFwd(OUT_C,w1); OnRev(OUT_A,w2); Wait(t);Off(OUT_BC);¡¡//±¦¤Ë¶Ê¤¬¤ë
#define turn_right1 Off(OUT_B);OnFwd(OUT_C,SPEED1);¡¡//±¦¤Ë¶Ê¤¬¤ë­¡
#define turn_right2 OnRev(OUT_B,SPEED1);OnFwd(OUT_C,SPEED1);¡¡//±¦¤Ë¶Ê¤¬¤ë­¢
#define STEP 1¡¡//£±²ó¤ÎȽÃǤÇÆ°ºî¤µ¤»¤ë»þ´Ö 
#define short_break Off(OUT_BC);Wait(1000);PlaySound(SOUND_UP);¡¡//£±Éûߤޤäƥ֥¶¡¼¤òÌĤ餹
#define cross_line go_forward;Wait(200);Off(OUT_BC);Wait(1000);¡¡//¸òº¹ÅÀ¤òÅϤë
#define nMAX 330¡¡//¥«¡¼¥Ö¤È¤ß¤Ê¤»¤ë²ó¿ô¤ÎºÇÂçÃÍ

¥µ¥Ö¥ë¡¼¥Á¥ó

void line_trace()
{
	SetSensorLight(S1);
	int nOnline=0;
	while (nOnline < nMAX ) {¡¡//¹õ¤¬nMAX²ó³¤«¤Ê¤¤¸Â¤êÀþ¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë
	if (SENSOR_1 < BLACK-5) {
	turn_left2;
	nOnline++;¡¡//¥«¥¦¥ó¥¿¤òÁý¤ä¤¹
	} else {
	if (SENSOR_1 < BLACK) {
	turn_left1;
	} else if (SENSOR_1 < WHITE) {
	go_forward;
	} else if (SENSOR_1 < WHITE+5) {
	turn_right1;
	} else {
	turn_right2;
	}
	nOnline=0;¡¡//¥«¥¦¥ó¥¿¤ò£°¤Ë¤¹¤ë
	}
	Wait(STEP);
	}
	short_break;
	nOnline=0;¡¡//¥«¥¦¥ó¥¿¤ò£°¤Ë¤¹¤ë
	Off(OUT_BC);
}

Àþ¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë¥×¥í¥°¥é¥à¡£
¸÷¥»¥ó¥µ¡¼¤¬¹õ¤ònMAX(330)²ó°Ê¾åϢ³¤ÇȽÃǤ¹¤ë¤È¸òº¹ÅÀ¤È¤ß¤Ê¤·Ää»ß¤¹¤ë¡£

void line_closs()
{
	cross_line;
	SetSensorLight(S1);
	do{¡¡//Àþ¤Îº¸Ã¼¤òõ¤¹
	if (SENSOR_1 < BLACK) {
	turn_right1;
	} else if (SENSOR_1 > WHITE) {
	turn_left2;
	}
	}
	while((SENSOR_1 > BLACK)&&(SENSOR_1 < WHITE));
	Off(OUT_BC);
}

¸òº¹ÅÀ¤òÅϤêÀڤ俸塢¼¡¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¤¿¤á¤Ë¥í¥Ü¥Ã¥È¤Î¸þ¤­¤òÄ´À᤹¤ë¥×¥í¥°¥é¥à¡£

void line_left()
{
	cross_line;
	turn_left(1000,20,20);¡¡//º¸¤Ë¶Ê¤¬¤ë
	SetSensorLight(S1);
	do{¡¡//Àþ¤Îº¸Ã¼¤òõ¤¹
	if (SENSOR_1 < BLACK) {
	turn_right1;
	} else if (SENSOR_1 > WHITE) {
	turn_left2;
	}
	}
	while((SENSOR_1 > BLACK)&&(SENSOR_1 < WHITE));
	Off(OUT_BC);
}

void line_closs¤Îº¸ÀޥС¼¥¸¥ç¥ó¡£

void last_move()
{
	go_forward;
	Wait(1500);
       PlaySound(SOUND_UP);
	Off(OUT_BC);
}

ºÇ¸å¤ËBÃÏÅÀ¤Î°Ï¤¤¤ËÆþ¤ê¡¢¥Ö¥¶¡¼¤òÌĤ餹¡£

¥á¥¤¥ó¥¿¥¹¥¯

task main()
{
	line_trace();
	line_closs();
	line_trace();
	line_closs();
	line_trace();
	line_closs();
	line_trace();
	line_left();
	line_trace();
	last_move();
}

¥µ¥Ö¥ë¡¼¥Á¥ó¤òÁȤ߹ç¤ï¤»¤ÆAÃÏÅÀ¤«¤éBÃÏÅÀ¤Ø¹Ô¤¯¥×¥í¥°¥é¥à¡£

·ë²Ì

²¿¤È¤«¥´¡¼¥ë¤Þ¤Ç¤¿¤É¤êÃ夯¤³¤È¤Ï¤Ç¤­¤¿¡£
AÃÏÅÀ¤«¤éBÃÏÅÀ¤Þ¤Ç¤Ë¤«¤«¤Ã¤¿»þ´Ö¤Ï£±Ê¬£²£·ÉäۤɤÀ¤Ã¤¿¡£

È¿¾Ê

È¿¾ÊÅÀ

¤â¤Ã¤ÈÁ᤯¥´¡¼¥ë¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¤«¤Ã¤¿¤¬¡¢Â®ÅÙ¤ò¾å¤²¤ë¤È¸òº¹ÅÀ¤òǧ¼±¤·¤Ê¤¯¤Ê¤Ã¤¿¤ê¡¢µÕ¤ËµÞ¤Ê¥«¡¼¥Ö¤ò¸òº¹ÅÀ¤Èǧ¼±¤·¤Æ¤·¤Þ¤¤¡¢·ë²ÌŪ¤Ë¤¢¤Þ¤êÁ᤯¤Ï¤Ç¤­¤Ê¤«¤«¤Ã¤¿¡£
¤Þ¤¿¡¢Àè¤Ë¤â½Ò¤Ù¤¿¤¬¥í¥Ü¥Ã¥È¼«ÂΤˤ¢¤Þ¤ê¼ê¤ò²Ã¤¨¤é¤ì¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¤â¤·¤«¤¹¤ë¤È®ÅÙ¤ÎÌäÂê¤â²ò·è¤Ç¤­¤¿¤«¤â¤·¤ì¤Ê¤¤¡£

´¶ÁÛ

»Ï¤á¤ÏÁ°²ó¤Î»÷´é³¨¤Î²ÝÂê¤è¤ê¤ÏÆñ¤·¤¯¤Ê¤µ¤½¤¦¤Ë´¶¤¸¤¿¤¬¡¢¼ÂºÝ¤ä¤Ã¤Æ¤ß¤ë¤ÈÁ°²ó¤è¤ê³ÊÃÊ¤Ë¥×¥í¥°¥é¥à¤¬Ê£»¨¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¤Ê¤«¤Ê¤«¤¦¤Þ¤¯¤¤¤«¤Ê¤«¤Ã¤¿¡£Î㤨¤Ð¡¢Â®ÅÙ¤òÍî¤È¤·¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤òÀµ³Î¤Ë¤¹¤ë¤È¸òº¹ÅÀ¤òǧ¼±¤»¤º¤½¤Î¤Þ¤Þ¶Ê¤¬¤Ã¤Æ¤·¤Þ¤Ã¤¿¤ê¡¢¤«¤È¤¤¤Ã¤Æ®ÅÙ¤ò¾å¤²¤¹¤®¤Æ¤â¥«¡¼¥Ö¤ä¸òº¹ÅÀ¤ÇÌäÂ꤬µ¯¤­¤Æ¤·¤Þ¤Ã¤¿¡£·ë²ÌŪ¤Ë¤Ï¤¦¤Þ¤¯¤¤¤Ã¤¿¤¬¡¢¤â¤Ã¤È»×¤¤Ä̤ê¤Ë¥×¥í¥°¥é¥à¤ò½ñ¤±¤ë¤è¤¦¤Ë¤Ê¤ê¤¿¤¤¤È»×¤Ã¤¿¡£


źÉÕ¥Õ¥¡¥¤¥ë: fileDSC_0769.png 166·ï [¾ÜºÙ] fileDSC_0771.png 177·ï [¾ÜºÙ] file2016a-mission2.png 172·ï [¾ÜºÙ]

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2016-07-08 (¶â) 00:03:50