- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
[[2016a/Member]]
¡¦Ìܼ¡
#contents
*²ÝÂê [#ubab1e3f]
²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¡Ö¥ß¥Ã¥·¥ç¥ó¡×¤ò¿ë¹Ô¤¹¤ë¤¿¤á¤Î¥í¥Ü¥Ã¥È¤òºîÀ®¤»¤è¡£
*¥³¡¼¥¹¿Þ [#id45d691]
http://yakushi.shinshu-u.ac.jp/robotics/?2016a%2FMission2 (»²¾È)
*¥ß¥Ã¥·¥ç¥ó [#oc3264ca]
¼¡¤Î¤¤¤º¤ì¤«¤Î·ÐÏ©¤ò¹õ¤¤Àþ¤Ë¤½¤Ã¤ÆÆ°¤¯¥í¥Ü¥Ã¥È¤òºîÀ®¤¹¤ë (¾¤Î¥á¥ó¥Ð¡¼¤È¤ÏÊ̤ηÐÏ©¤Ë¤Ê¤ë¤è¤¦¤Ë¤¹¤ë)¡£¤¿¤À¤·¡¢¤Ê¤ë¤Ù¤¯Â®¤¯Àµ³Î¤ËÆ°¤¯¥í¥Ü¥Ã¥È¤Ë¤Ê¤ë¤è¤¦¤Ë¹©Éפ·¤Æ¡¢¸òº¹ÅÀ¤Ç¤Ï1ÉôÖÄä»ß¤¹¤ë¤³¤È¡£
•AÃÏÅÀ¤«¤éBÃÏÅÀ¤Ø (°ì¿ÍÌÜ) ◦AÃÏÅÀ ¢ª Pľ¿Ê ¢ª Qľ¿Ê ¢ª Qľ¿Ê ¢ª Rº¸ÀÞ ¢ª BÃÏÅÀ
•BÃÏÅÀ¤«¤éCÃÏÅÀ¤Ø (Æó¿ÍÌÜ) ◦BÃÏÅÀ ¢ª R±¦ÀÞ ¢ª Qľ¿Ê ¢ª Qľ¿Ê ¢ªP±¦ÀÞ ¢ª S±¦ÀÞ ¢ª CÃÏÅÀ
•CÃÏÅÀ¤«¤éAÃÏÅÀ¤Ø (»°¿ÍÌÜ) ◦CÃÏÅÀ ¢ª Sº¸ÀÞ ¢ª Pº¸ÀÞ ¢ª Qľ¿Ê ¢ª Qľ¿Ê ¢ª R±¦ÀÞ ¢ª Pº¸ÀÞ ¢ª AÃÏÅÀ
»ä¤Ï¡¢BÃÏÅÀ¤«¤éCÃÏÅÀ¤Î¥ë¡¼¥È¤òôÅö¤·¤¿¡£
*¥á¥ó¥Ð¡¼ [#qb973488]
tom¡¦funatsu¡¦tatsuya
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#j547dadf]
»äã¤Ï¡¢NXT¤È¸À¤¦¼ïÎà¤Î¥í¥Ü¥Ã¥È¤ò»ÈÍѤ·¤¿¡£
#ref(2016a/Member/tom/Mission2/IMG_2677.JPG)
#ref(2016a/Member/tom/Mission2/IMG_2679.JPG)
¡ã¥»¥ó¥µ¡¼Éôʬ¡ä
#ref(2016a/Member/tom/Mission2/IMG_2678.JPG)
*¥×¥í¥°¥é¥à [#k22b8b3f]
¡¦ÄêµÁ
#define BLACK 43
#define WHITE 54
#define BLACK 43 //¹õ¿§¤ÎÄêµÁ
#define WHITE 54 //Çò¿§¤ÎÄêµÁ
#define SPEED1 19
#define go_forward OnFwd(OUT_BC,SPEED1);
#define go_forward OnFwd(OUT_BC,SPEED1); //Á°¿Ê
#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_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 350
#define turn_right1 Off(OUT_B);OnFwd(OUT_C,SPEED1);¡¡//¡
#define turn_right2 OnRev(OUT_B,SPEED1);OnFwd(OUT_C,SPEED1);¡¡//¢
#define short_break Off(OUT_BC);Wait(1000);PlaySound(SOUND_UP);¡¡//1ÉûߤޤäƲ»¤òÌĤ餹
#define cross_line go_forward;Wait(200);Off(OUT_BC);Wait(1000);¡¡//¸òº¹ÅÀ¤òÅϤë
#define nMAX 350¡¡¥«¡¼¥Ö¤È¤ß¤Ê¤»¤ë²ó¿ô¤ÎºÇÂçÃÍ
¡¤ÏÂ礤¯¶Ê¤¬¤ë¡¡¢¤Ï¾®¤µ¤¯¶Ê¤¬¤ë
º£²ó¤Ï¤³¤ÎÄêµÁ¤ò»È¤Ã¤¿¡£
¡¦¥µ¥Ö¥ë¡¼¥Á¥ó
void line_trace()
void line_trace()//¹õ¤¤Àþ¾å¤Ë±è¤Ã¤ÆÁö¤ë
{
SetSensorLight(S1);
int nOnline=0;
while (nOnline < nMAX ) {
while (nOnline < nMAX ) {¡¡////¹õ¤¬nMAX²ó³¤«¤Ê¤¤¸Â¤êÀþ¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë
if (SENSOR_1 < BLACK-5) {
turn_right2;
nOnline++;
nOnline++; //¥«¥¦¥ó¥¿¤òÁý¤ä¤¹
} else {
if (SENSOR_1 < BLACK) {
turn_right1;
} else if (SENSOR_1 < WHITE) {
go_forward;
} else if (SENSOR_1 < WHITE+5) {
turn_left1;
} else {
turn_left2;
}
nOnline=0;
nOnline=0; //¥«¥¦¥ó¥¿¤ò£°¤Ë¤¹¤ë
}
Wait(STEP);
}
short_break;
nOnline=0;
nOnline=0; //¥«¥¦¥ó¥¿¤ò£°¤Ë¤¹¤ë
Off(OUT_BC);
}
void line_closs()
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);
}
¸÷¥»¥ó¥µ¡¼¤¬¹õ¤ònMAX(350)²ó°Ê¾åϢ³¤ÇȽÃǤ¹¤ë¤È¸òº¹ÅÀ¤È¤ß¤Ê¤·Ää»ß¤¹¤ë¡£
void line_right()
void line_right()//¸òº¹ÅÀ¤Ç±¦¤Ë¶Ê¤¬¤ë
{
cross_line;
turn_right(1000,40,40);
SetSensorLight(S1);
do{
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()
void line_left()¸òº¹ÅÀ¤Çº¸¤Ë¶Ê¤¬¤ë
{
cross_line;
turn_left(1000,40,40)
turn_left(1000,40,40) //º¸¤Ë¶Ê¤¬¤ë
SetSensorLight(S1);
do{
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()
void last_move()CÃÏÅÀ¤Ë¥´¡¼¥ë¤¹¤ë¡£
{
go_forward;
Wait(1500);
Off(OUT_BC);
}
¥´¡¼¥ë¤·¤¿¤é¡¢²»¤òÌĤ餹¡£
¡¦¥á¥¤¥ó¥×¥í¥°¥é¥à
task main()
{
line_trace();
line_right();
line_trace();
line_closs();
line_trace();
line_closs();
line_trace();
line_right();
line_trace();
line_right();
line_trace();
last_move();
}
¥µ¥Ö¥ë¡¼¥Á¥ó¤ò»ÈÍѤ·¤ÆBÃÏÅÀ¤«¤éCÃÏÅÀ¤Ø¸þ¤«¤¦¥×¥í¥°¥é¥à¡£
*È¿¾ÊÅÀ [#o8744fcd]
¥¹¥¿¡¼¥È¤«¤é¥´¡¼¥ë¤¹¤ë¤Þ¤Ç4ʬ3ÉäȻþ´Ö¤¬¤«¤«¤Ã¤¿¡£
¥´¡¼¥ëÃÏÅÀ¤Èǧ¼±¤·¤Ê¤¤¤³¤È¤¬Â¿¤«¤Ã¤¿¡£
*´¶ÁÛ [#m3902dd1]
ÅÅÃӤλÄÎ̤ˤè¤Ã¤Æ¥â¡¼¥¿¡¼¤Î½ÐÎϤ¬ÊѤï¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬Â¿¡¹¤¢¤Ã¤¿¡£
¤½¤ÎÅ٤ˡ¢¥×¥í¥°¥é¥à¤òÊѹ¹¤·¡¢Ä´À°¤¹¤ë¤Î¤Ë¤Ï¶ìÏ«¤·¤¿¡£
º£Å٤ϡ¢¥»¥ó¥µ¡¼¤Ë¤è¤ë¥³¡¼¥¹Ç§¼±¤Î´¶ÅÙ¤ò¾å¤²¡¢¤è¤ê³Î¼Â¤Ê¤â¤Î¤Ë¤·¤¿¤¤¡£