2017b/Member/n1sh1/Mission3
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2017b/Member]]
Ìܼ¡
#contents
*²ÝÂê¤Ë¤Ä¤¤¤Æ [#d8b0a9a6]
º£²ó¤Î²ÝÂê¤Ï¡¢²ÝÂꣲ¤ÈƱÍͤΥ³¡¼¥¹¤òÍѤ¤¤Æ»æ¥³¥Ã¥×¤È¤½¤ÎÃæ¤ËÆþ¤Ã¤¿¥Ô¥ó¥Ý¥óµå¤ò°ÜÆ°¤µ¤»¤ë¤â¤Î¤À¤Ã¤¿¡£¤³¤ì¤Þ¤Ç¤Î²ÝÂê¤È°ã¤¤½çÏ©¤¬·è¤é¤ì¤Æ¤ª¤é¤º¡¢¤½¤³¤«¤é¹Í¤¨¤Æ¤¤¤¯¤Î¤¬Æñ¤·¤«¤Ã¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/¥³¡¼¥¹.png,60%,¥³¡¼¥¹);
*¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ [#y8f0d603]
**¹½ÁÛ [#i4ab5e31]
¤Þ¤º¥í¥Ü¥Ã¥È¤ÎºîÀ®¤Ë¤ª¤¤¤Æ¡¢ÍѤ¤¤ëËÜÂΤÏ1Â椫2Â椫¡¢¤Þ¤¿ÊÌ¡¹¤ËÆ°¤«¤¹¤«°ì½ï¤ËÆ°¤«¤¹¤«¡¢¤ò¤É¤Î¤è¤¦¤Ë¤¹¤ë¤«¤¬ºÇ½é¤ÎÆñ´Ø¤Ç¤¢¤Ã¤¿¡£»ä¤¿¤Á¤Ï¼¡¤Î3¤Ä¤Î¹½ÁÛ¤òΩ¤Æ¤¿¡£
¡»æ¥³¥Ã¥×¤òÄϤàÆ°ºî¤È¾å¤²¤ëÆ°ºî1Âæ¤À¤±¤Ç¹Ô¤¦¥í¥Ü¥Ã¥È
¢³ÆÆ°ºî¤òÊÌ¡¹¤Î¥í¥Ü¥Ã¥È¤Ç¹Ô¤¦¤â¤Î
£ËÜÂΤò2ÂæÍѤ¤¤Æ³ÆÆ°ºî¤ò1¤Ä¥í¥Ü¥Ã¥È¤Ç¹Ô¤¦¤â¤Î
**À½ºî [#uc43d767]
¡,¢,£¤ò¤â¤È¤Ë¥í¥Ü¥Ã¥È¤ÎÀ½ºî¤Ë¤¢¤¿¤Ã¤¿¡£
¡¡§¤³¤ì¤ÏÀèÀ¸¤¬Ä󼨤·¤Æ¤¯¤À¤µ¤Ã¤¿µ¡¹½¤òÍѤ¤¤ë¤â¤Î¤À¤¬¡¢¤³¤ì¤¬ºÇ¤â·ÚÎ̤«¤Ä¾®·¿¤Ç²ÝÂê¤ËŬ¤·¤¿¤â¤Î¤À¤È¹Í¤¨¤é¤ì¤¿¡£¤·¤«¤·¡¢µ¡¹½¤¬¤¤¤Þ¤¤¤Áʬ¤«¤é¤º¤³¤ì¤ÎÀ½ºî¤òÃÇÇ°¤·¤¿¡£
¢¡§»æ¥³¥Ã¥×¤òÄϤà¥í¥Ü¥Ã¥È¤È¥Ô¥ó¥Ý¥óµå¤ò½¸¤á¤ë¥í¥Ü¥Ã¥È¤òÊÌ¡¹¤ËÆ°¤«¤¹¤â¤Î¤Ç¡¢¥³¡¼¥¹¤ÎÅÔ¹ç¾å¥í¥Ü¥Ã¥È¤òÊ̤ΤȤ³¤í¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿¡£¤·¤«¤·¡¢Æ±¤¸¾ì½ê¤Ë½¸¤á¤ë¤¿¤á¤ËÊ£»¨¤Ê½çÏ©¤ò¿Ê¤Þ¤»¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤³¤Î¥í¥Ü¥Ã¥È¤ÎÀ½ºî¤òÃÇÇ°¤·¤¿¡£
£¡§ºÇ½ªÅª¤Ë¤³¤Î¥í¥Ü¥Ã¥È¤ÎÀ½ºî¤ËÅö¤¿¤ê¼¡¤Î¥í¥Ü¥Ã¥È¤¬´°À®¤·¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/Á´ÂÎ.jpg,60%,Á´ÂÎ);
**³ÆÉô¤ÎÀâÌÀ [#x9d72d6e]
***¥¢¡¼¥àÉôʬ [#e663e3eb]
¤³¤Î¤è¤¦¤Ë¥®¥ä¤òÍѤ¤¤¿¤Î¤À¤¬¡¢¤·¤Ã¤«¤ê¤È¤«¤ß¹ç¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤«Í·¤Ó¤¬¤¢¤êÄϤó¤Ç¤âÄϤߤ¤ì¤Ê¤«¤Ã¤¿¤³¤È¤¬¤¢¤Ã¤¿¡£¤³¤ì¤Ï¡¢¾¯¤·¶¯¤á¤ËÄϤޤ»¤ë¤³¤È¤Ç²þÁ±¤¹¤ë¤³¤È¤¬¤Ç¤¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/¥¢¡¼¥à΢¦.jpg,60%,¥¢¡¼¥à΢¦);
¼ÂºÝ¤ËÄϤàÆ°ºî¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£4¤«½ê¤Ë¥¿¥¤¥ä¤òÍѤ¤¤ë¤³¤È¤Ç¥°¥ê¥Ã¥×ÎϤò¹â¤á¤¿¡£¤Þ¤¿¥¿¥¤¥ä¤Ï¼«Í³¤Ë²óž¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¤Î¤Ç¡¢¤º¤ì¤¿¤È¤¤ËÄϤ⤦¤È¤·¤Æ¤â¤·¤Ã¤«¤ê¤ÈÄϤá¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
&ref(2017b/Member/n1sh1/Mission3/ÄϤࣱ.jpg,30%,ÄϤࣱ);
&ref(2017b/Member/n1sh1/Mission3/ÄϤࣲ.jpg,30%,ÄϤࣲ);
&ref(2017b/Member/n1sh1/Mission3/ÄϤࣳ.jpg,30%,ÄϤࣳ);
***¾å¤²¤ëµ¡¹½ [#w66089be]
¤³¤Î¤è¤¦¤ËÄϤൡ¹½¤ò¤½¤Î¤Þ¤Þ»ý¤Á¾å¤²¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¥®¥ä¤òÍѤ¤¤ë¤³¤È¤Ç°ÂÄꤷ¤Æ¤¢¤²¤é¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£
&ref(2017b/Member/n1sh1/Mission3/¾å¤²¤ëµ¡¹½£±.jpg,55%,¾å¤²¤ëµ¡¹½£±);
ÄϤൡ¹½¤Ï2ËܤÎÉôÉʤǻ٤¨¤Æ¤¤¤ë¤¬¤½¤ì¤é¤ÏÌð°õ¤ÎÉôÉʤòÍѤ¤¤ë¤³¤È¤Ç»Ù¤¨¤Æ¤¤¤ë¡£
&ref(2017b/Member/n1sh1/Mission3/¾å¤²¤ëµ¡¹½£².png,70%,¾å¤²¤ëµ¡¹½£²);
***¥»¥ó¥µ¡¼Åù [#t8a1b232]
²ÝÂꣲ¤ÈƱÍͤ˸÷¥»¥ó¥µ¡¼¤È¥¿¥¤¥ä¤Î´Ö¤ò±ó¤¹¤®¤º¶á¤¹¤®¤Ê¤¤¤È¤³¤í¤Ë¼è¤êÉÕ¤±¤Æ¤¤¤ë¡£¤Þ¤¿¡¢µ÷Î¥¥»¥ó¥µ¡¼¤Ï¸÷¥»¥ó¥µ¡¼¤Î¿¿²£¤Ë¤Ä¤±¤¿¤¬¡¢»æ¥³¥Ã¥×¤òÄϤൡ¹½¤È´³¾Ä¤·¤Ê¤¤¤è¤¦¤Ë¤Ä¤±¤ë¤³¤È¤Ë¾¯¤·¶ìÏ«¤·¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/¸÷¥»¥ó¥µ¡¼.jpg,50%,¥»¥ó¥µ¡¼²£¤«¤é);
&ref(2017b/Member/n1sh1/Mission3/¥»¥ó¥µ¡¼.jpg,50%,¥»¥ó¥µ¡¼Á°¤«¤é);
***¤½¤Î¾¤Ë¤Ä¤¤¤Æ [#a27eae0b]
ËÜÂΤò2ÂæÍѤ¤¤¿¤¿¤á¤Ë¥â¡¼¥¿¡¼¤ËÂ礤ÊÉé²Ù¤¬¤«¤«¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£ËÜÂΤβ£¤Ë¼è¤êÉÕ¤±¤¿¤Î¤â°¤«¤Ã¤¿¤Î¤«¤â¤·¤ì¤Ê¤¤¡£¤Þ¤¿¡¢ÊÒÊý¤Ë½Å¿´¤¬ÊФäƤ·¤Þ¤¤²èÁü¤Î¤è¤¦¤Ë¼ÖÂΤ¬·¹¤¤¤Æ¤·¤Þ¤Ã¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/Á°¤«¤é.jpg,50%,Á°¤«¤é);
¤·¤«¤·¡¢¼¡¤Î¤è¤¦¤Ë»ä¤¿¤Á¤Î¥í¥Ü¥Ã¥È¤Ïʬ²ò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ï¤³¤ì¤Þ¤ÇÁȤßΩ¤Æ¤ä¤¹¤µ¡¢Ê¬²ò¤Î¤·¤ä¤¹¤µ¤ò¥â¥Ã¥È¡¼¤Ë¤ä¤Ã¤Æ¤¤¿¤Î¤Ç¤½¤ÎÅÀ¤Ï½½Ê¬¥¯¥ê¥¢¤Ç¤¤¿¤è¤¦¤Ë»×¤¨¤ë¡£
&ref(2017b/Member/n1sh1/Mission3/¥í¥Ü¥Ã¥È¤Î³«¤.jpg,55%,¥í¥Ü¥Ã¥È¤Î³«¤);
*¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ [#ff752ebe]
¾å¦¤ÎËÜÂΤò¥Þ¥¹¥¿¡¼¡¢²¼Â¦¤ÎËÜÂΤò¥¹¥ì¡¼¥Ö¤È¤·¤Æ¤¤¤ë¡£¤Þ¤¿¡¢ÇÛÀþ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤·¤Ã¤«¤ê¤È¤Ä¤«¤á¤¿¤«¤É¤¦¤«¤òȽÃǤµ¤»¤ë¥»¥ó¥µ¡¼¤òÍѤ¤¤¿¤«¤Ã¤¿¤Î¤À¤¬»þ´Ö¤¬¤Ê¤«¤Ã¤¿¡£µ÷Î¥¥»¥ó¥µ¡¼¥×¥í¥°¥é¥à¦¤Çµ÷Î¥¥»¥ó¥µ
¥Þ¥¹¥¿¡¼Â¦½ÐÎÏ¡§£Á¢ª±¦Â¦¼ÖÎØ¡¢£Â¢ªº¸Â¦¼ÖÎØ
¥Þ¥¹¥¿¡¼Â¦ÆþÎÏ¡§£±¢ªµ÷Î¥¥»¥ó¥µ¡¼¡¢£²¢ª¸÷¥»¥ó¥µ¡¼
¥¹¥ì¡¼¥Ö¦½ÐÎÏ¡§£Á¢ªÄϤൡ¹½¡¢£Â¢ª¾å¤²¤ëµ¡¹½
**½çÏ© [#hfa0c79b]
&ref(2017b/Member/n1sh1/Mission3/½çÏ©.png,35%,½çÏ©);
¥í¥Ü¥Ã¥È¤Î½çÏ©¤Ï¿Þ¤Î¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£Q-S´Ö¤Ø¹Ô¤Ã¤¿¸å¤Ï¤Û¤È¤ó¤É¤½¤Î¾ì¤Ë¤¤¤ë¤Þ¤Þºî¶È¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£¼¡¤Î¤è¤¦¤ËÆ°¤«¤¹Í½Äê¤À¤Ã¤¿¡£
1,ÅÀS¤òǧ¼±¤¹¤ë¡£
2¡¤²¼¤ÎÊý¤Ë¸þ¤¡¢»æ¥³¥Ã¥×¤ò»ý¤Áľ¤¹¡£
3¡¤X¤ÎÊý¤Ø¸þ¤¡¢¥Ô¥ó¥Ý¥óµå¤òÃÖ¤¯¡£
4¡¤È¿Å¾¤·¤ÆY¤Î¼êÁ°¤Þ¤Ç¹Ô¤¡¢»æ¥³¥Ã¥×¤òÃÖ¤¯¡£(¼ÂºÝ¤Ï¤³¤³¤Çǧ¼±¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£)
5¡¤²¼¤ÎÊý¤Ë¸þ¤¡¢»æ¥³¥Ã¥×¤Î¼êÁ°¤Þ¤Ç¹Ô¤ÄϤࡣ
6¡¤3¡¤4¤ÈƱÍÍ¡£
7¡¢¾å¤ÎÊý¤Ë¸þ¤¡¢»æ¥³¥Ã¥×¤Î¼êÁ°¤Þ¤Ç¹Ô¤ÄϤࡣ
8¡¤3¡¤4¤ÈƱÍÍ¡£
**¥Þ¥¹¥¿¡¼Â¦ÄêµÁ,¥µ¥Ö¥ë¡¼¥Á¥ó [#p8047709]
***°ÂÄê¤Î¤¿¤á¤Ë [#k780ea8b]
¤³¤ì¤Þ¤Ç¤Ï°ÂÄê¤Î¤¿¤á¤ËWait():¤ò¤½¤ÎÅÔÅÙ½ñ¤¤¤Æ¤¿¤Î¤À¤¬¡¢º£²ó¤Ï¤³¤ì¤òÄêµÁ¤¹¤ë¤³¤È¤Ç¸«¤ä¤¹¤¯¤¹¤ë¤³¤È¤¬¤Ç¤¤¿¡£
#define adjust Off(OUT_AB);Wait(50); //ÈùÄ´À°
***¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÄêµÁ [#bc3d901f]
»ä¤¿¤Á¤ÏA-B´Ö¤äQ-S´Ö¤Ê¤Éľ¿Ê¤¹¤ë¤È¤³¤í¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤µ¤»¤¿¡£²ÝÂꣲ¤ÈƱÍͤËÈæÎãÀ©¸æ¤òÍѤ¤¤¿¡£
[[ÈæÎãÀ©¸æ¤È¤Ï:http://yakushi.shinshu-u.ac.jp/robotics/?2017b%2FMember%2Fn1sh1%2FMission2#a9bde67b]]
#define sensor SENSOR_2 //¥»¥ó¥µ¡¼¤ÎÃÍ
#define black 30 //¹õ¤ÎÃÍ
#define white 60 //Çò¤ÎÃÍ
#define threshold (black+white)*0.5 //ïçÃÍ(Á°½Ò¤ÎÌÀ¤ë¤µ¤ÎÃæ´ÖÃÍ)
#define deflection (sensor-threshold) //¥»¥ó¥µ¡¼¤ÎÃͤÈïçÃÍ(Ãæ´ÖÃÍ)¤È¤Îº¹
***¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥µ¥Ö¥ë¡¼¥Á¥ó [#bf6661b3]
¤³¤Î2¤Ä¤Ï²ÝÂꣲ¤ÈƱÍͤ˥ȥ졼¥¹¤¹¤ë¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£²ÝÂꣲ¤Ç¤Ïin,out¤È¤·¤Æ¤¤¤¿¤¬¤ï¤«¤ê¤Ë¤¯¤«¤Ã¤¿¤Î¤Ç¡¢º£²ó¤Ïright,left¤È¤·¤Æ²þÁ±¤·¤¿¡£
sub linetrase_right(int x) //¥é¥¤¥ó¥È¥ì¡¼¥¹(¿Ê¹ÔÊý¸þ±¦Â¦))
{
OnFwd(OUT_A,40+deflection*x);
OnFwd(OUT_B,40-deflection*x);
}
sub linetrase_left(int x) //¥é¥¤¥ó¥È¥ì¡¼¥¹(¿Ê¹ÔÊý¸þº¸Â¦)
{
OnFwd(OUT_A,40-deflection*x);
OnFwd(OUT_B,40+deflection*x);
}
¤³¤Î2¤Ä¤âƱÍͤ˸òº¹ÅÀǧ¼±¤¹¤ë¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£¿Ê¹ÔÊý¸þ±¦Â¦º¸Â¦¤È¤È¤â¤Ë¥»¥ó¥µ¡¼¤¬
¹õÀþ¤òǧ¼±¤¹¤ë»þ´Ö¤¬°ìÄê°Ê¾å¤Î»þ¤Ë¸òº¹ÅÀǧ¼±¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£³ÆÄê¿ô¤Ï¼Â¸³Åª¤Ë½Ð¤·¤¿¡£
sub intertify_right() //¸òº¹ÅÀ¼±ÊÌ(¿Ê¹ÔÊý¸þ±¦Â¦)
{
long t = CurrentTick();
while(CurrentTick()-t<100){
if(sensor_light>white-5){
linetrase_right(1.5);
t = CurrentTick();
}else if(sensor_light>black+5){
linetrase_right(1.5);
t = CurrentTick();
}else{
linetrase_right(1.5);
}
}
adjust;
}
sub intertify_left() //¸òº¹ÅÀ¼±ÊÌ(¿Ê¹ÔÊý¸þº¸Â¦)
{
long t = CurrentTick();
while(CurrentTick()-t<100){
if(sensor_light>white-5){
linetrase_left(1.5);
t = CurrentTick();
}else if(sensor_light>black+5){
linetrase_left(1.5);
t = CurrentTick();
}else{
linetrase_left(1.5);
}
}
adjust;
}
¤³¤ì¤Ï³«»ÏÅÀ¤«¤é¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£¥í¥Ü¥Ã¥È¤Î¥µ¥¤¥º¾å¡¢¥»¥ó¥µ¡¼¤Ï³Î¼Â¤Ë¹õÀþ¾å¤ËÍè¤ë¤Î¤Ç³Î¼Â¤Ë¤³¤ì¤òµ¡Ç½¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤¿¡£
sub escape_A() //ÅÀAæ½Ð
{
while(sensor_light<white-5){
OnFwd(OUT_B,50);
OnFwd(OUT_A,30);
}
adjust;
}
***»æ¥³¥Ã¥×ǧ¼±¤ÎÄêµÁ [#v7d1b0c6]
»²¹Í»ñÎÁ¤ò¸µ¤ËÄêµÁ¤·¤¿¡£
#define ultrasonic SensorUS(S1) //Ķ²»ÇÈ¥»¥ó¥µ¡¼
const float diameter = 5.45; //¥¿¥¤¥ä¤Îľ·Â(cm)
const float track = 17.5; //¥¿¥¤¥ä¤Î¥È¥ì¥Ã¥ÉÉý(cm)
const float pi = 3.1415; //±ß¼þΨ
***»æ¥³¥Ã¥×ǧ¼±¤Î¥µ¥Ö¥ë¡¼¥Á¥ó [#c829c346]
°ÂÄê¤Î¤¿¤á¤Ë¤¹¤Ù¤Æ¤Ë adjust ¤òÆþ¤ì¤Æ¤¤¤ë¡£
»æ¥³¥Ã¥×¤Î¤È¤³¤í¤Þ¤Ç¹Ô¤¡¢¤½¤Îµ÷Î¥¤À¤±Ì᤹ưºî¤â¤µ¤»¤¿¤«¤Ã¤¿¤Î¤Ç2¤Ä¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£
void approach(float d) //£äcm¿Ê¤à
{
long angle = d/(diameter*pi)*360.0; //ɬÍפʥ¿¥¤¥ä¤Î²óž³Ñ
RotateMotorEx(OUT_AB,50,angle,0,true,true);
adjust;
}
void back(float d) //£äcm¸åÂह¤ë
{
long angle = d/(diameter*pi)*360.0; //ɬÍפʥ¿¥¤¥ä¤Î²óž³Ñ
RotateMotorEx(OUT_AB,-50,angle,0,true,true);
adjust;
}
ƱÍͤËÈ¿»þ·×²ó¤ê¤â¤µ¤»¤¿¤«¤Ã¤¿¤Î¤Ç2¤Ä¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£
void spinAng(long ang) //º£¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙÀû²ó(È¿»þ·×²ó¤ê)
{
long angle = track/diameter*ang; //ɬÍפʥ¿¥¤¥ä¤Î²óž³Ñ
RotateMotorEx(OUT_AB,50,angle,100,true,true);
adjust;
}
void spinAng_opposite(long ang) //º£¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙÀû²ó(»þ·×²ó¤ê)
{
long angle = track/diameter*ang; //ɬÍפʥ¿¥¤¥ä¤Î²óž³Ñ
RotateMotorEx(OUT_AB,-50,angle,100,true,true);
adjust;
}
¤Ï¤¸¤á¡¢¡ÚÊÖ¤¹¡Û¤È¤¤¤¦°ÕÌ£¤¬Ê¬¤«¤é¤Ê¤«¤Ã¤¿¤¬¡¢»È¤Ã¤Æ¤¤¤¯¤¦¤Á¤Ëʬ¤«¤Ã¤¿¡£½é¤á¤ÎÊý¤Ëʬ¤«¤Ã¤Æ¤¤¤ì¤Ð¤â¤Ã¤È±þÍѤǤ¤¿¥×¥í¥°¥é¥à¤¬ºî¤ì¤¿¤«¤â¤·¤ì¤Ê¤¤¡£
int search_distance(long ang) //¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤÇõ¤·¤½¤Îµ÷Î¥¤òÊÖ¤¹
{
long tacho_min; //ºÇ¤â¶á¤¤µ÷Î¥¤ò¼Â¸½¤¹¤ë¥¿¥¤¥ä¤Î²óž¿ô
int d_min = 300; //ºÇ¤â¶á¤¤µ÷Î¥¤Î²¾¤ÎºÇ¾®ÃÍ
long angle = (track/diameter)*ang; //Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž³ÑÅÙ¤ò·×»»
spinAng(ang/2); //»ØÄꤵ¤ì¤¿³ÑÅÙ¤ÎȾʬÀû²ó
ResetTachoCount(OUT_AB); //³ÑÅÙ·×»»¤ò¥ê¥»¥Ã¥È
OnFwdSync(OUT_AB,50,-100); //È¿»þ·×²ó¤ê¤ËÀû²ó
while(MotorTachoCount(OUT_A)<=angle){
if(ultrasonic<d_min){ //¸½ºß¤Îµ÷Î¥¤¬²¾¤ÎºÇ¾®Ãͤè¤ê¾®¤µ¤¤¤È¤
d_min = ultrasonic; //²¾¤ÎºÇ¾®Ãͤò¹¹¿·¤·
tacho_min = MotorTachoCount(OUT_A); //¥¿¥¤¥ä¤Î²óž¿ô¤ò¹¹¿·
}
}
//¥¿¥¤¥ä¤Î²óž¿ô¡¢¤Þ¤¿¤Ïµ÷Î¥¥»¥ó¥µ¡¼¤¬²¾¤ÎºÇ¾®ÃͰʲ¼¤Ë¤Ê¤ë¤Þ¤ÇÀû²ó
OnFwdSyncEx(OUT_AB,50,100,RESET_NONE); //»þ·×²ó¤ê¤ËÀû²ó
until(MotorTachoCount(OUT_A)<=tacho_min || ultrasonic<=d_min);
adjust;
Wait(500);
return d_min;
}
***³Æ°ÜÆ°¤Î¥µ¥Ö¥ë¡¼¥Á¥ó [#qe5114cd]
¤³¤ì¤Ï»²¹Í»ñÎÁ¤ò±þÍѤ·¤Æºî¤Ã¤¿¹õÀþ¤ÎÃæ¿´¤ò¸þ¤¯¤è¤¦¤Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¤¬¡¢¹õÀþ¤Ë¼Ð¤á¤Ë¸þ¤¤¤Æ¤¤¤ë¤È°Õ¿Þ¤·¤Ê¤¤Êý¸þ¤Ë¸þ¤¤¤Æ¤·¤Þ¤¦¡£ºî¤Ã¤¿¸å¤Ëµ¤¤Å¤¡¢º£²ó¤ÏÍѤ¤¤é¤ì¤ë¤³¤È¤Ï¤Ê¤«¤Ã¤¿¡£
// ¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤǹõÀþ¤ÎÃæ¿´¤ò¸þ¤¯
sub search_light_center(long ang)
{
long tacho_min; //ºÇ¤â¶á¤¤µ÷Î¥¤ò¼Â¸½¤¹¤ë¥¿¥¤¥ä¤Î²óž¿ô
int light_min = 300; //ºÇ¤â°Å¤¤ÌÀ¤ë¤µ¤Î²¾¤ÎºÇ¾®ÃÍ
long angle = (track/diameter)*ang; //Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž³Ñ¤ò·×»»
spinAng(ang/2); //»ØÄꤷ¤¿³ÑÅÙ¤ÎȾʬÀû²ó
ResetTachoCount(OUT_AB); //³ÑÅÙ·×»»¤ò¥ê¥»¥Ã¥È
OnFwdSync(OUT_AB,50,-100);
while(MotorTachoCount(OUT_A)<=angle){
if(sensor_light<light_min){
light_min = sensor_light;
tacho_min = MotorTachoCount(OUT_A);
}
}
OnFwdSyncEx(OUT_AB,50,100,RESET_NONE); //»þ·×²ó¤ê¤ËÀû²ó
until(MotorTachoCount(OUT_A)<=tacho_min || sensor_light<=light_min);
adjust;
Wait(500);
}
¤³¤ì¤é¤Ï³ÆÃÏÅÀ¤Þ¤Ç°ÜÆ°¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£¥»¥ó¥µ¡¼¤¬¤¢¤ëÃͤˤʤë¤Þ¤Ç¥¿¥¤¥ä¤òÆ°¤«¤¹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¡£¤·¤«¤·¡¢¥í¥Ü¥Ã¥È¤òÆ°¤«¤·¤Æ¤¤¤¯¤¦¤Á¤ËÆ°ºî¤·¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¡¢¤³¤ì¤é¤ÏľÀÜËÜʸ¤Ë½ñ¤¹þ¤ßÄûÀµ¤·¤Æ¤¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¢¤³¤ì¤é¤âÍѤ¤¤é¤ì¤ë¤³¤È¤Ï¤Ê¤«¤Ã¤¿¡£
sub go_P() //º¸¾å¤Î»æ¥³¥Ã¥×¤«¤éP¤Þ¤Ç
{
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,-100);
}
adjust;
while(sensor_light<white-5){
OnFwd(OUT_A,50);
}
adjust;
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light<white-5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light>black+5){
OnFwd(OUT_A,50);
}
adjust;
}
sub go_P_Q() //P¤«¤éQ¤Þ¤Ç
{
while(sensor_light<white-5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
long t1 = CurrentTick();
while(CurrentTick()-t1<1500){
OnFwdSync(OUT_AB,50,0);
}
}
sub go_S_C() //S¤«¤éC¤Þ¤Ç
{
while(sensor_light<white-5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
}
***ÄÌ¿®¤Î¤¿¤á¤ÎÄêµÁ [#lf762737]
ÄÌ¿®¤¿¤á¤ÎÄêµÁ¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤¿¡£
#define ultrasonic SensorUS(S1) //Ķ²»ÇÈ¥»¥ó¥µ¡¼
#define master 0
#define slave 1
#define mail MAILBOX1
#define cup_age_little 20 //»æ¥³¥Ã¥×¤Á¤ç¤Ã¤È¾å¤²¤ë
#define cup_age 30 //»æ¥³¥Ã¥×¾å¤²¤ë
#define cup_sage 40 //»æ¥³¥Ã¥×²¼¤²¤ë
#define cup_re 50 //»æ¥³¥Ã¥×»ý¤Áľ¤¹
#define fin 9 //½ª¤ï¤ê
**¥¹¥ì¡¼¥Ö¦ÄêµÁ,¥µ¥Ö¥ë¡¼¥Á¥ó [#l4fc8aec]
***ÄÌ¿®¤Î¤¿¤á¤ÎÄêµÁ [#f34e189e]
¥Þ¥¹¥¿¡¼Â¦¤ÈƱÍͤǤ¢¤ë¡£
#define master 0
#define slave 1
#define mail MAILBOX1
#define cup_age_little 20 //»æ¥³¥Ã¥×¤Á¤ç¤Ã¤È¾å¤²¤ë
#define cup_age 30 //»æ¥³¥Ã¥×¾å¤²¤ë
#define cup_sage 40 //»æ¥³¥Ã¥×²¼¤²¤ë
#define cup_re 50 //»æ¥³¥Ã¥×»ý¤Áľ¤¹
#define fin 9 //½ª¤ï¤ê
***¥µ¥Ö¥ë¡¼¥Á¥ó [#n0590ac4]
¥¹¥ì¡¼¥Ö¦¤ÏÄϤà¥â¡¼¥¿¡¼¤È¾å¤²²¼¤²¤¹¤ë¥â¡¼¥¿¡¼¤ò¤Ä¤±¤Æ¤¤¤ë¤¿¤á¡¢¤³¤ì¤é¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£Æ°¤«¤¹³ÑÅ٤ϼ¸³Åª¤Ë½Ð¤·¤¿¡£
sub tukamu() //ÄϤà
{
RotateMotor(OUT_A,50,440);
adjust;
}
sub hanasu() //Î¥¤¹
{
RotateMotor(OUT_A,50,-440);
adjust;
}
sub up_little() //¾¯¤·¾å¤²¤ë
{
RotateMotor(OUT_B,60,-180);
adjust;
}
sub ageru() //¾å¤²¤ë
{
RotateMotor(OUT_B,60,-720);
adjust;
}
sub down_little() //¾¯¤·²¼¤²¤ë
{
RotateMotor(OUT_B,60,180);
adjust;
}
sub sageru() //²¼¤²¤ë
{
RotateMotor(OUT_B,60,720);
adjust;
}
**¥Þ¥¹¥¿¡¼Â¦ËÜʸ [#acdf8dd0]
¤³¤ÎÄ̤ê¤Ç¤¢¤ë¤¬¡¢ÌµÂ̤¬Â¿¤¤¤â¤Î¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£ÄÌ¿®¤Ë´Ø¤¹¤ë¥×¥í¥°¥é¥à¤Ï¥µ¥Ö¥ë¡¼¥Á¥ó¤Ê¤É¤Ç¤Þ¤È¤á¤¿Êý¤¬³Î¼Â¤ËÎɤ«¤Ã¤¿¡£
task main()
{
SetSensorLowspeed(S1);
SetSensorLight(S2);
//A¤«¤éB¤Þ¤Ç¹Ô¤¯
escape_A();
intertify_right();
//»æ¥³¥Ã¥×¤òõ¤·¤½¤Î5cm¼êÁ°¤Þ¤Ç¹Ô¤¯
int d1 = search_distance(90);
if(d1>10){
approach(d1-5);
}
//ÄÌ¿®(º¸¾å¤Î»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë) //
int msg1;
while(msg1!=fin){
ReceiveRemoteNumber(mail,true,msg1);
SendRemoteNumber(slave,mail,cup_age_little);
}
//ÄÌ¿®//
//¿Ê¤ó¤Àʬ¤À¤±Ìá¤ë
back(d1-5);
//B¤ÇÊý¸þž´¹¤·¤ÆP¤Þ¤Ç¹Ô¤¯//
spinAng(80); //P¤ÎÊý¤Ø¸þ¤¯
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light<white-5){
OnFwd(OUT_B,50);
}
adjust;
intertify_right();
ÅÀP¤Ç¤Ï5ÅÙ¤À¤±Àû²ó¤µ¤»¤¿¤¬¡¢¤³¤ì¤Ï¡¢Q-S´Ö¤Ç³Î¼Â¤Ë¹õÀþ¤Îº¸Â¦¤Ë¥»¥ó¥µ¡¼¤ò»ý¤Ã¤Æ¹Ô¤¤¿¤«¤Ã¤¿¤«¤é¤Ç¤¢¤ë¡£
//P¤«¤éS¤Þ¤Ç¹Ô¤¯//
spinAng(5); //
approach(26);
while(sensor_light>black+5){
OnFwd(OUT_A,50);
}
adjust;
while(sensor_light<white-5){
OnFwd(OUT_B,50);
}
adjust;
intertify_right();
spinAng(90);
//ÄÌ¿®(»æ¥³¥Ã¥×»ý¤Áľ¤¹)//
int msg2;
while(msg2!=fin){
ReceiveRemoteNumber(mail,true,msg2);
SendRemoteNumber(slave,mail,cup_re);
}
//X¤ÎÊý¤Ë¸þ¤¯//
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,100);
}
adjust;
while(sensor_light<white-10){
OnFwd(OUT_A,50);
}
adjust;
intertify_left();
intertify_left();
//ÄÌ¿®(X¤Ç»æ¥³¥Ã¥×¾å¤²¤ë)//
int msg3;
while(msg3!=fin){
ReceiveRemoteNumber(mail,true,msg3);
SendRemoteNumber(slave,mail,cup_age);
}
adjust;
}
//Y¤ÎÊý¤Ë¸þ¤¯
spinAng(160);
¼ÂºÝ¤Ë¤¤ì¤¤¤ËÆ°¤¤¤¿¤Î¤Ï¤³¤³¤Þ¤Ç¤Ç¤¢¤ë¡£È¿Å¾¤·¤Æ¹õÀþ¤òǧ¼±¤¹¤ë¤Þ¤Ç¿Ê¤Þ¤»¤¿¤«¤Ã¤¿¤Î¤À¤¬¡¢Ç§¼±¤¹¤ë¤³¤È¤Ê¤¯¡¢Ä¾¿Ê¤·¤Æ¤·¤Þ¤Ã¤¿¡£¤â¤Ã¤ÈºÙ¤«¤Ë°ÜÆ°¤µ¤»¤é¤ì¤¿¤éÀ®¸ù¤·¤Æ¤¤¤¿¤«¤â¤·¤ì¤Ê¤¤¡£
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
//ÄÌ¿®(»æ¥³¥Ã¥×ÃÖ¤¯)//
int msg4;
while(msg4!=fin){
ReceiveRemoteNumber(mail,true,msg4);
SendRemoteNumber(slave,mail,cup_sage);
}
adjust;
//²¼¤Î»æ¥³¥Ã¥×¤ÎÊý¤Ë¸þ¤¯
while(sensor_light<white-5){
OnFwdSync(OUT_AB,-50,0);
}
adjust;
while(sensor_light>black+5){
OnRev(OUT_A,50);
}
adjust;
spinAng(90);
int d2 = search_distance(90);
if(d2>10){
approach(d2-5);
}
//ÄÌ¿®(»æ¥³¥Ã¥×¾¯¤·¾å¤²¤ë)//
int msg5;
while(msg5!=fin){
ReceiveRemoteNumber(mail,true,msg5);
SendRemoteNumber(slave,mail,cup_age_little);
}
//¿Ê¤ó¤Àʬ¤À¤±Ìá¤ë
back(d2-5);
//X¤ÎÊý¤Ë¸þ¤¯
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,100);
}
adjust;
while(sensor_light<white-5){
OnFwd(OUT_A,50);
}
adjust;
intertify_left();
//ÄÌ¿®(»æ¥³¥Ã¥×¤ò¾å¤²¤ë)//
int msg6;
while(msg6!=fin){
ReceiveRemoteNumber(mail,true,msg6);
SendRemoteNumber(slave,mail,cup_age);
}
adjust;
//Y¤Î¼êÁ°¤Ë¹Ô¤¯
spinAng(320);
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
//»æ¥³¥Ã¥×¤òÃÖ¤¯//
int msg7;
while(msg7!=fin){
ReceiveRemoteNumber(mail,true,msg7);
SendRemoteNumber(slave,mail,cup_sage);
}
//»Ä¤ê¤Î»æ¥³¥Ã¥×¤Î¼êÁ°¤Þ¤Ç¹Ô¤¯
spinAng_opposite(90);
int d3 = search_distance(90);
if(d3>10){
approach(d3-5);
}
//ÄÌ¿®(»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë)//
int msg8;
while(msg8!=fin){
ReceiveRemoteNumber(mail,true,msg8);
SendRemoteNumber(slave,mail,cup_age_little);
}
//¿Ê¤ó¤Àʬ¤À¤±Ìá¤ë
back(d3-5);
//X¤ÎÊý¤Ë¸þ¤¯
while(sensor_light>black+5){
OnFwdSync(OUT_AB,-50,100);
}
adjust;
intertify_right();
//ÄÌ¿®(»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë) //
int msg9;
while(msg9!=fin){
ReceiveRemoteNumber(mail,true,msg9);
SendRemoteNumber(slave,mail,cup_age);
}
adjust;
//Y¤Î¼êÁ°¤Þ¤Ç¹Ô¤¯
spinAng(320);
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
//ÄÌ¿®(»æ¥³¥Ã¥×ÃÖ¤¯)//
int msg10;
while(msg10!=fin){
ReceiveRemoteNumber(mail,true,msg10);
SendRemoteNumber(slave,mail,cup_sage);
}
}
**¥¹¥ì¡¼¥Ö¦ËÜʸ [#sfea136f]
¤³¤Î¤è¤¦¤ËƱ¤¸¤è¤¦¤Ë¥×¥í¥°¥é¥à¤¬Â³¤¤¤Æ¤¤¤ë¡£
task main()
{
//»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë
int msg1;
until(msg1==cup_age_little)
ReceiveRemoteNumber(mail,true,msg1);
while(msg1==cup_age_little){
sageru();
tukamu();
up_little();
SendResponseNumber(mail,fin);
Wait(500);
msg1 = "";
}
//»æ¥³¥Ã¥×¤ò»ý¤Áľ¤¹
int msg2;
until(msg2==cup_re)
ReceiveRemoteNumber(mail,true,msg2);
while(msg2==cup_re){
down_little();
hanasu();
tukamu();
up_little();
SendResponseNumber(mail,fin);
Wait(500);
msg2 = "";
}
//»æ¥³¥Ã¥×¤ò¾å¤²¤ë
int msg3;
until(msg3==cup_age)
ReceiveRemoteNumber(mail,true,msg3);
while(msg3==cup_age){
down_little();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg3 = "";
}
//»æ¥³¥Ã¥×¤òÃÖ¤¯
int msg4;
until(msg4==cup_sage)
ReceiveRemoteNumber(mail,true,msg4);
while(msg4==cup_sage){
sageru();
hanasu();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg4 = "";
}
¼ÂºÝ¤ËÆ°¤¤¤¿¤Î¤Ï¤³¤³¤Þ¤Ç¤Ç¤¢¤ë¡£
//²¼¤Î»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë
int msg5;
until(msg5==cup_age_little)
ReceiveRemoteNumber(mail,true,msg1);
while(msg5==cup_age_little){
sageru();
tukamu();
up_little();
SendResponseNumber(mail,fin);
Wait(500);
msg5 = "";
}
//»æ¥³¥Ã¥×¤ò¾å¤²¤ë
int msg6;
until(msg6==cup_age)
ReceiveRemoteNumber(mail,true,msg6);
while(msg6==cup_age){
down_little();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg6 = "";
}
//»æ¥³¥Ã¥×¤òÃÖ¤¯
int msg7;
until(msg7==cup_sage)
ReceiveRemoteNumber(mail,true,msg7);
while(msg7==cup_sage){
sageru();
hanasu();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg7 = "";
}
//»Ä¤ê¤Î»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë
int msg8;
until(msg8==cup_age_little)
ReceiveRemoteNumber(mail,true,msg1);
while(msg8==cup_age_little){
sageru();
tukamu();
up_little();
SendResponseNumber(mail,fin);
Wait(500);
msg8 = "";
}
//»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë
int msg9;
until(msg9==cup_age)
ReceiveRemoteNumber(mail,true,msg9);
while(msg9==cup_age){
down_little();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg9 = "";
}
//»æ¥³¥Ã¥×¤òÃÖ¤¯
int msg10;
until(msg10==cup_sage)
ReceiveRemoteNumber(mail,true,msg10);
while(msg10==cup_sage){
sageru();
hanasu();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg10 = "";
}
}
*¤Þ¤È¤á [#oa2e9125]
**·ë²Ì [#gb7fd656]
¥×¥í¥°¥é¥à¤Ï£³¤Ä¤Î»æ¥³¥Ã¥×¤òÃÖ¤¯¤È¤³¤í¤Þ¤Çºî¤Ã¤¿¤Î¤À¤¬¡¢¼ÂºÝ¤Ï°ì¤ÄÌܤλ楳¥Ã¥×¤Î¥Ô¥ó¥Ý¥óµå¤òÃÖ¤¯¤È¤³¤í¤Þ¤Ç¤·¤«¤¤ì¤¤¤ËÆ°¤«¤Ê¤«¤Ã¤¿(1¤Ä¤·¤«ÏÈÆâ¤ËÆþ¤é¤Ê¤«¤Ã¤¿¤¬)¡£¤½¤Î¸å¤Ï¡¢È¿Å¾¤·¤ÆÅÀS¤Þ¤Ç¹Ô¤¤¿¤«¤Ã¤¿¤Î¤À¤¬¡¢¸òº¹ÅÀ¤ò¼±Ê̤Ǥ¤Ê¤¯¤Æ³¹ÔÉÔǽ¤È¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
**´¶ÁÛ [#c9ae0e59]
¤Þ¤º¡¢º£²ó¤Î²ÝÂê¤Ï»ä¤¬¤Û¤È¤ó¤É°ì¿Í¤Çºî¤Ã¤Æ¤¤Æ¤·¤Þ¤Ã¤¿¡£´üËö¥Æ¥¹¥È¤Î¤¿¤á»þ´Ö¤¬¤Ê¤«¤Ã¤¿¤È¤¤¤¦¤³¤È¤È¥×¥í¥°¥é¥à¤¬¥°¥ë¡¼¥×¤Ç1¤Ä¤À¤Ã¤¿¤È¤¤¤¦¤³¤È¤¬Â礤¤¤È»×¤¦¡£¤·¤«¤·¡¢ËÜÈ֤ǤÏ3°Ì¤È¤Ê¤ë¤³¤È¤¬¤Ç¤¤Æ·ë²Ì¤È¤·¤ÆÎɤ¤¤â¤Î¤Ë¤Ê¤Ã¤¿¤È»×¤¦¡£¤â¤Ã¤È»þ´Ö¤¬¤¢¤ì¤Ð¶¨ÎϤ·¤Æ¤µ¤é¤ËÎɤ¤¤â¤Î¤¬ºî¤ì¤¿¤«¤â¤·¤ì¤Ê¤¤¡£¥í¥Ü¥Æ¥£¥¯¥¹ÆþÌ祼¥ß¤òÄ̤·¤Æ¡¢Åö½é¼«Ê¬¤¬¤Ç¤¤ë¤È¤Ï»×¤Ã¤Æ¤Ê¤«¤Ã¤¿¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢¤È¤Æ¤âãÀ®´¶¤ò´¶¤¸¤ë¤³¤È¤¬¤Ç¤¤¿¡£ºÇ¸å¤Ë¡¢³Æ²ÝÂê¤Ë¤ª¤¤¤Æ¥á¥ó¥Ð¡¼¤ÈÏ䷹礤1¤Ä¤Î¤â¤Î¤òºî¤ê¾å¤²¤Æ¤¤¤¯¤È¤¤¤¦¡¢¤³¤ì¤Þ¤Ç¤Ï¤¢¤Þ¤ê·Ð¸³¤·¤Æ¤³¤Ê¤«¤Ã¤¿¤³¤È¤¬¤Ç¤¤ÆËÜÅö¤ËÎɤ«¤Ã¤¿¤È»×¤¦¡£ºÇ¸å¤Ï¤¢¤Þ¤ê¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¤ò¼è¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤À¤¬¡¢¤ä¤Ï¤ê¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¤ÏÂç»ö¤Ê¤Î¤À¤È³Ø¤Ö¤³¤È¤¬¤Ç¤¤¿¡£¤³¤ì¤ò¾Íè¤ËÀ¸¤«¤·¤Æ¤¤¤¤¿¤¤¤È»×¤¦¡£
½ªÎ»¹Ô:
[[2017b/Member]]
Ìܼ¡
#contents
*²ÝÂê¤Ë¤Ä¤¤¤Æ [#d8b0a9a6]
º£²ó¤Î²ÝÂê¤Ï¡¢²ÝÂꣲ¤ÈƱÍͤΥ³¡¼¥¹¤òÍѤ¤¤Æ»æ¥³¥Ã¥×¤È¤½¤ÎÃæ¤ËÆþ¤Ã¤¿¥Ô¥ó¥Ý¥óµå¤ò°ÜÆ°¤µ¤»¤ë¤â¤Î¤À¤Ã¤¿¡£¤³¤ì¤Þ¤Ç¤Î²ÝÂê¤È°ã¤¤½çÏ©¤¬·è¤é¤ì¤Æ¤ª¤é¤º¡¢¤½¤³¤«¤é¹Í¤¨¤Æ¤¤¤¯¤Î¤¬Æñ¤·¤«¤Ã¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/¥³¡¼¥¹.png,60%,¥³¡¼¥¹);
*¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ [#y8f0d603]
**¹½ÁÛ [#i4ab5e31]
¤Þ¤º¥í¥Ü¥Ã¥È¤ÎºîÀ®¤Ë¤ª¤¤¤Æ¡¢ÍѤ¤¤ëËÜÂΤÏ1Â椫2Â椫¡¢¤Þ¤¿ÊÌ¡¹¤ËÆ°¤«¤¹¤«°ì½ï¤ËÆ°¤«¤¹¤«¡¢¤ò¤É¤Î¤è¤¦¤Ë¤¹¤ë¤«¤¬ºÇ½é¤ÎÆñ´Ø¤Ç¤¢¤Ã¤¿¡£»ä¤¿¤Á¤Ï¼¡¤Î3¤Ä¤Î¹½ÁÛ¤òΩ¤Æ¤¿¡£
¡»æ¥³¥Ã¥×¤òÄϤàÆ°ºî¤È¾å¤²¤ëÆ°ºî1Âæ¤À¤±¤Ç¹Ô¤¦¥í¥Ü¥Ã¥È
¢³ÆÆ°ºî¤òÊÌ¡¹¤Î¥í¥Ü¥Ã¥È¤Ç¹Ô¤¦¤â¤Î
£ËÜÂΤò2ÂæÍѤ¤¤Æ³ÆÆ°ºî¤ò1¤Ä¥í¥Ü¥Ã¥È¤Ç¹Ô¤¦¤â¤Î
**À½ºî [#uc43d767]
¡,¢,£¤ò¤â¤È¤Ë¥í¥Ü¥Ã¥È¤ÎÀ½ºî¤Ë¤¢¤¿¤Ã¤¿¡£
¡¡§¤³¤ì¤ÏÀèÀ¸¤¬Ä󼨤·¤Æ¤¯¤À¤µ¤Ã¤¿µ¡¹½¤òÍѤ¤¤ë¤â¤Î¤À¤¬¡¢¤³¤ì¤¬ºÇ¤â·ÚÎ̤«¤Ä¾®·¿¤Ç²ÝÂê¤ËŬ¤·¤¿¤â¤Î¤À¤È¹Í¤¨¤é¤ì¤¿¡£¤·¤«¤·¡¢µ¡¹½¤¬¤¤¤Þ¤¤¤Áʬ¤«¤é¤º¤³¤ì¤ÎÀ½ºî¤òÃÇÇ°¤·¤¿¡£
¢¡§»æ¥³¥Ã¥×¤òÄϤà¥í¥Ü¥Ã¥È¤È¥Ô¥ó¥Ý¥óµå¤ò½¸¤á¤ë¥í¥Ü¥Ã¥È¤òÊÌ¡¹¤ËÆ°¤«¤¹¤â¤Î¤Ç¡¢¥³¡¼¥¹¤ÎÅÔ¹ç¾å¥í¥Ü¥Ã¥È¤òÊ̤ΤȤ³¤í¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿¡£¤·¤«¤·¡¢Æ±¤¸¾ì½ê¤Ë½¸¤á¤ë¤¿¤á¤ËÊ£»¨¤Ê½çÏ©¤ò¿Ê¤Þ¤»¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤³¤Î¥í¥Ü¥Ã¥È¤ÎÀ½ºî¤òÃÇÇ°¤·¤¿¡£
£¡§ºÇ½ªÅª¤Ë¤³¤Î¥í¥Ü¥Ã¥È¤ÎÀ½ºî¤ËÅö¤¿¤ê¼¡¤Î¥í¥Ü¥Ã¥È¤¬´°À®¤·¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/Á´ÂÎ.jpg,60%,Á´ÂÎ);
**³ÆÉô¤ÎÀâÌÀ [#x9d72d6e]
***¥¢¡¼¥àÉôʬ [#e663e3eb]
¤³¤Î¤è¤¦¤Ë¥®¥ä¤òÍѤ¤¤¿¤Î¤À¤¬¡¢¤·¤Ã¤«¤ê¤È¤«¤ß¹ç¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤«Í·¤Ó¤¬¤¢¤êÄϤó¤Ç¤âÄϤߤ¤ì¤Ê¤«¤Ã¤¿¤³¤È¤¬¤¢¤Ã¤¿¡£¤³¤ì¤Ï¡¢¾¯¤·¶¯¤á¤ËÄϤޤ»¤ë¤³¤È¤Ç²þÁ±¤¹¤ë¤³¤È¤¬¤Ç¤¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/¥¢¡¼¥à΢¦.jpg,60%,¥¢¡¼¥à΢¦);
¼ÂºÝ¤ËÄϤàÆ°ºî¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£4¤«½ê¤Ë¥¿¥¤¥ä¤òÍѤ¤¤ë¤³¤È¤Ç¥°¥ê¥Ã¥×ÎϤò¹â¤á¤¿¡£¤Þ¤¿¥¿¥¤¥ä¤Ï¼«Í³¤Ë²óž¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¤Î¤Ç¡¢¤º¤ì¤¿¤È¤¤ËÄϤ⤦¤È¤·¤Æ¤â¤·¤Ã¤«¤ê¤ÈÄϤá¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
&ref(2017b/Member/n1sh1/Mission3/ÄϤࣱ.jpg,30%,ÄϤࣱ);
&ref(2017b/Member/n1sh1/Mission3/ÄϤࣲ.jpg,30%,ÄϤࣲ);
&ref(2017b/Member/n1sh1/Mission3/ÄϤࣳ.jpg,30%,ÄϤࣳ);
***¾å¤²¤ëµ¡¹½ [#w66089be]
¤³¤Î¤è¤¦¤ËÄϤൡ¹½¤ò¤½¤Î¤Þ¤Þ»ý¤Á¾å¤²¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¥®¥ä¤òÍѤ¤¤ë¤³¤È¤Ç°ÂÄꤷ¤Æ¤¢¤²¤é¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£
&ref(2017b/Member/n1sh1/Mission3/¾å¤²¤ëµ¡¹½£±.jpg,55%,¾å¤²¤ëµ¡¹½£±);
ÄϤൡ¹½¤Ï2ËܤÎÉôÉʤǻ٤¨¤Æ¤¤¤ë¤¬¤½¤ì¤é¤ÏÌð°õ¤ÎÉôÉʤòÍѤ¤¤ë¤³¤È¤Ç»Ù¤¨¤Æ¤¤¤ë¡£
&ref(2017b/Member/n1sh1/Mission3/¾å¤²¤ëµ¡¹½£².png,70%,¾å¤²¤ëµ¡¹½£²);
***¥»¥ó¥µ¡¼Åù [#t8a1b232]
²ÝÂꣲ¤ÈƱÍͤ˸÷¥»¥ó¥µ¡¼¤È¥¿¥¤¥ä¤Î´Ö¤ò±ó¤¹¤®¤º¶á¤¹¤®¤Ê¤¤¤È¤³¤í¤Ë¼è¤êÉÕ¤±¤Æ¤¤¤ë¡£¤Þ¤¿¡¢µ÷Î¥¥»¥ó¥µ¡¼¤Ï¸÷¥»¥ó¥µ¡¼¤Î¿¿²£¤Ë¤Ä¤±¤¿¤¬¡¢»æ¥³¥Ã¥×¤òÄϤൡ¹½¤È´³¾Ä¤·¤Ê¤¤¤è¤¦¤Ë¤Ä¤±¤ë¤³¤È¤Ë¾¯¤·¶ìÏ«¤·¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/¸÷¥»¥ó¥µ¡¼.jpg,50%,¥»¥ó¥µ¡¼²£¤«¤é);
&ref(2017b/Member/n1sh1/Mission3/¥»¥ó¥µ¡¼.jpg,50%,¥»¥ó¥µ¡¼Á°¤«¤é);
***¤½¤Î¾¤Ë¤Ä¤¤¤Æ [#a27eae0b]
ËÜÂΤò2ÂæÍѤ¤¤¿¤¿¤á¤Ë¥â¡¼¥¿¡¼¤ËÂ礤ÊÉé²Ù¤¬¤«¤«¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£ËÜÂΤβ£¤Ë¼è¤êÉÕ¤±¤¿¤Î¤â°¤«¤Ã¤¿¤Î¤«¤â¤·¤ì¤Ê¤¤¡£¤Þ¤¿¡¢ÊÒÊý¤Ë½Å¿´¤¬ÊФäƤ·¤Þ¤¤²èÁü¤Î¤è¤¦¤Ë¼ÖÂΤ¬·¹¤¤¤Æ¤·¤Þ¤Ã¤¿¡£
&ref(2017b/Member/n1sh1/Mission3/Á°¤«¤é.jpg,50%,Á°¤«¤é);
¤·¤«¤·¡¢¼¡¤Î¤è¤¦¤Ë»ä¤¿¤Á¤Î¥í¥Ü¥Ã¥È¤Ïʬ²ò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ï¤³¤ì¤Þ¤ÇÁȤßΩ¤Æ¤ä¤¹¤µ¡¢Ê¬²ò¤Î¤·¤ä¤¹¤µ¤ò¥â¥Ã¥È¡¼¤Ë¤ä¤Ã¤Æ¤¤¿¤Î¤Ç¤½¤ÎÅÀ¤Ï½½Ê¬¥¯¥ê¥¢¤Ç¤¤¿¤è¤¦¤Ë»×¤¨¤ë¡£
&ref(2017b/Member/n1sh1/Mission3/¥í¥Ü¥Ã¥È¤Î³«¤.jpg,55%,¥í¥Ü¥Ã¥È¤Î³«¤);
*¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ [#ff752ebe]
¾å¦¤ÎËÜÂΤò¥Þ¥¹¥¿¡¼¡¢²¼Â¦¤ÎËÜÂΤò¥¹¥ì¡¼¥Ö¤È¤·¤Æ¤¤¤ë¡£¤Þ¤¿¡¢ÇÛÀþ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤·¤Ã¤«¤ê¤È¤Ä¤«¤á¤¿¤«¤É¤¦¤«¤òȽÃǤµ¤»¤ë¥»¥ó¥µ¡¼¤òÍѤ¤¤¿¤«¤Ã¤¿¤Î¤À¤¬»þ´Ö¤¬¤Ê¤«¤Ã¤¿¡£µ÷Î¥¥»¥ó¥µ¡¼¥×¥í¥°¥é¥à¦¤Çµ÷Î¥¥»¥ó¥µ
¥Þ¥¹¥¿¡¼Â¦½ÐÎÏ¡§£Á¢ª±¦Â¦¼ÖÎØ¡¢£Â¢ªº¸Â¦¼ÖÎØ
¥Þ¥¹¥¿¡¼Â¦ÆþÎÏ¡§£±¢ªµ÷Î¥¥»¥ó¥µ¡¼¡¢£²¢ª¸÷¥»¥ó¥µ¡¼
¥¹¥ì¡¼¥Ö¦½ÐÎÏ¡§£Á¢ªÄϤൡ¹½¡¢£Â¢ª¾å¤²¤ëµ¡¹½
**½çÏ© [#hfa0c79b]
&ref(2017b/Member/n1sh1/Mission3/½çÏ©.png,35%,½çÏ©);
¥í¥Ü¥Ã¥È¤Î½çÏ©¤Ï¿Þ¤Î¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£Q-S´Ö¤Ø¹Ô¤Ã¤¿¸å¤Ï¤Û¤È¤ó¤É¤½¤Î¾ì¤Ë¤¤¤ë¤Þ¤Þºî¶È¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£¼¡¤Î¤è¤¦¤ËÆ°¤«¤¹Í½Äê¤À¤Ã¤¿¡£
1,ÅÀS¤òǧ¼±¤¹¤ë¡£
2¡¤²¼¤ÎÊý¤Ë¸þ¤¡¢»æ¥³¥Ã¥×¤ò»ý¤Áľ¤¹¡£
3¡¤X¤ÎÊý¤Ø¸þ¤¡¢¥Ô¥ó¥Ý¥óµå¤òÃÖ¤¯¡£
4¡¤È¿Å¾¤·¤ÆY¤Î¼êÁ°¤Þ¤Ç¹Ô¤¡¢»æ¥³¥Ã¥×¤òÃÖ¤¯¡£(¼ÂºÝ¤Ï¤³¤³¤Çǧ¼±¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£)
5¡¤²¼¤ÎÊý¤Ë¸þ¤¡¢»æ¥³¥Ã¥×¤Î¼êÁ°¤Þ¤Ç¹Ô¤ÄϤࡣ
6¡¤3¡¤4¤ÈƱÍÍ¡£
7¡¢¾å¤ÎÊý¤Ë¸þ¤¡¢»æ¥³¥Ã¥×¤Î¼êÁ°¤Þ¤Ç¹Ô¤ÄϤࡣ
8¡¤3¡¤4¤ÈƱÍÍ¡£
**¥Þ¥¹¥¿¡¼Â¦ÄêµÁ,¥µ¥Ö¥ë¡¼¥Á¥ó [#p8047709]
***°ÂÄê¤Î¤¿¤á¤Ë [#k780ea8b]
¤³¤ì¤Þ¤Ç¤Ï°ÂÄê¤Î¤¿¤á¤ËWait():¤ò¤½¤ÎÅÔÅÙ½ñ¤¤¤Æ¤¿¤Î¤À¤¬¡¢º£²ó¤Ï¤³¤ì¤òÄêµÁ¤¹¤ë¤³¤È¤Ç¸«¤ä¤¹¤¯¤¹¤ë¤³¤È¤¬¤Ç¤¤¿¡£
#define adjust Off(OUT_AB);Wait(50); //ÈùÄ´À°
***¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÄêµÁ [#bc3d901f]
»ä¤¿¤Á¤ÏA-B´Ö¤äQ-S´Ö¤Ê¤Éľ¿Ê¤¹¤ë¤È¤³¤í¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤µ¤»¤¿¡£²ÝÂꣲ¤ÈƱÍͤËÈæÎãÀ©¸æ¤òÍѤ¤¤¿¡£
[[ÈæÎãÀ©¸æ¤È¤Ï:http://yakushi.shinshu-u.ac.jp/robotics/?2017b%2FMember%2Fn1sh1%2FMission2#a9bde67b]]
#define sensor SENSOR_2 //¥»¥ó¥µ¡¼¤ÎÃÍ
#define black 30 //¹õ¤ÎÃÍ
#define white 60 //Çò¤ÎÃÍ
#define threshold (black+white)*0.5 //ïçÃÍ(Á°½Ò¤ÎÌÀ¤ë¤µ¤ÎÃæ´ÖÃÍ)
#define deflection (sensor-threshold) //¥»¥ó¥µ¡¼¤ÎÃͤÈïçÃÍ(Ãæ´ÖÃÍ)¤È¤Îº¹
***¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥µ¥Ö¥ë¡¼¥Á¥ó [#bf6661b3]
¤³¤Î2¤Ä¤Ï²ÝÂꣲ¤ÈƱÍͤ˥ȥ졼¥¹¤¹¤ë¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£²ÝÂꣲ¤Ç¤Ïin,out¤È¤·¤Æ¤¤¤¿¤¬¤ï¤«¤ê¤Ë¤¯¤«¤Ã¤¿¤Î¤Ç¡¢º£²ó¤Ïright,left¤È¤·¤Æ²þÁ±¤·¤¿¡£
sub linetrase_right(int x) //¥é¥¤¥ó¥È¥ì¡¼¥¹(¿Ê¹ÔÊý¸þ±¦Â¦))
{
OnFwd(OUT_A,40+deflection*x);
OnFwd(OUT_B,40-deflection*x);
}
sub linetrase_left(int x) //¥é¥¤¥ó¥È¥ì¡¼¥¹(¿Ê¹ÔÊý¸þº¸Â¦)
{
OnFwd(OUT_A,40-deflection*x);
OnFwd(OUT_B,40+deflection*x);
}
¤³¤Î2¤Ä¤âƱÍͤ˸òº¹ÅÀǧ¼±¤¹¤ë¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£¿Ê¹ÔÊý¸þ±¦Â¦º¸Â¦¤È¤È¤â¤Ë¥»¥ó¥µ¡¼¤¬
¹õÀþ¤òǧ¼±¤¹¤ë»þ´Ö¤¬°ìÄê°Ê¾å¤Î»þ¤Ë¸òº¹ÅÀǧ¼±¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£³ÆÄê¿ô¤Ï¼Â¸³Åª¤Ë½Ð¤·¤¿¡£
sub intertify_right() //¸òº¹ÅÀ¼±ÊÌ(¿Ê¹ÔÊý¸þ±¦Â¦)
{
long t = CurrentTick();
while(CurrentTick()-t<100){
if(sensor_light>white-5){
linetrase_right(1.5);
t = CurrentTick();
}else if(sensor_light>black+5){
linetrase_right(1.5);
t = CurrentTick();
}else{
linetrase_right(1.5);
}
}
adjust;
}
sub intertify_left() //¸òº¹ÅÀ¼±ÊÌ(¿Ê¹ÔÊý¸þº¸Â¦)
{
long t = CurrentTick();
while(CurrentTick()-t<100){
if(sensor_light>white-5){
linetrase_left(1.5);
t = CurrentTick();
}else if(sensor_light>black+5){
linetrase_left(1.5);
t = CurrentTick();
}else{
linetrase_left(1.5);
}
}
adjust;
}
¤³¤ì¤Ï³«»ÏÅÀ¤«¤é¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£¥í¥Ü¥Ã¥È¤Î¥µ¥¤¥º¾å¡¢¥»¥ó¥µ¡¼¤Ï³Î¼Â¤Ë¹õÀþ¾å¤ËÍè¤ë¤Î¤Ç³Î¼Â¤Ë¤³¤ì¤òµ¡Ç½¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤¿¡£
sub escape_A() //ÅÀAæ½Ð
{
while(sensor_light<white-5){
OnFwd(OUT_B,50);
OnFwd(OUT_A,30);
}
adjust;
}
***»æ¥³¥Ã¥×ǧ¼±¤ÎÄêµÁ [#v7d1b0c6]
»²¹Í»ñÎÁ¤ò¸µ¤ËÄêµÁ¤·¤¿¡£
#define ultrasonic SensorUS(S1) //Ķ²»ÇÈ¥»¥ó¥µ¡¼
const float diameter = 5.45; //¥¿¥¤¥ä¤Îľ·Â(cm)
const float track = 17.5; //¥¿¥¤¥ä¤Î¥È¥ì¥Ã¥ÉÉý(cm)
const float pi = 3.1415; //±ß¼þΨ
***»æ¥³¥Ã¥×ǧ¼±¤Î¥µ¥Ö¥ë¡¼¥Á¥ó [#c829c346]
°ÂÄê¤Î¤¿¤á¤Ë¤¹¤Ù¤Æ¤Ë adjust ¤òÆþ¤ì¤Æ¤¤¤ë¡£
»æ¥³¥Ã¥×¤Î¤È¤³¤í¤Þ¤Ç¹Ô¤¡¢¤½¤Îµ÷Î¥¤À¤±Ì᤹ưºî¤â¤µ¤»¤¿¤«¤Ã¤¿¤Î¤Ç2¤Ä¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£
void approach(float d) //£äcm¿Ê¤à
{
long angle = d/(diameter*pi)*360.0; //ɬÍפʥ¿¥¤¥ä¤Î²óž³Ñ
RotateMotorEx(OUT_AB,50,angle,0,true,true);
adjust;
}
void back(float d) //£äcm¸åÂह¤ë
{
long angle = d/(diameter*pi)*360.0; //ɬÍפʥ¿¥¤¥ä¤Î²óž³Ñ
RotateMotorEx(OUT_AB,-50,angle,0,true,true);
adjust;
}
ƱÍͤËÈ¿»þ·×²ó¤ê¤â¤µ¤»¤¿¤«¤Ã¤¿¤Î¤Ç2¤Ä¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£
void spinAng(long ang) //º£¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙÀû²ó(È¿»þ·×²ó¤ê)
{
long angle = track/diameter*ang; //ɬÍפʥ¿¥¤¥ä¤Î²óž³Ñ
RotateMotorEx(OUT_AB,50,angle,100,true,true);
adjust;
}
void spinAng_opposite(long ang) //º£¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙÀû²ó(»þ·×²ó¤ê)
{
long angle = track/diameter*ang; //ɬÍפʥ¿¥¤¥ä¤Î²óž³Ñ
RotateMotorEx(OUT_AB,-50,angle,100,true,true);
adjust;
}
¤Ï¤¸¤á¡¢¡ÚÊÖ¤¹¡Û¤È¤¤¤¦°ÕÌ£¤¬Ê¬¤«¤é¤Ê¤«¤Ã¤¿¤¬¡¢»È¤Ã¤Æ¤¤¤¯¤¦¤Á¤Ëʬ¤«¤Ã¤¿¡£½é¤á¤ÎÊý¤Ëʬ¤«¤Ã¤Æ¤¤¤ì¤Ð¤â¤Ã¤È±þÍѤǤ¤¿¥×¥í¥°¥é¥à¤¬ºî¤ì¤¿¤«¤â¤·¤ì¤Ê¤¤¡£
int search_distance(long ang) //¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤÇõ¤·¤½¤Îµ÷Î¥¤òÊÖ¤¹
{
long tacho_min; //ºÇ¤â¶á¤¤µ÷Î¥¤ò¼Â¸½¤¹¤ë¥¿¥¤¥ä¤Î²óž¿ô
int d_min = 300; //ºÇ¤â¶á¤¤µ÷Î¥¤Î²¾¤ÎºÇ¾®ÃÍ
long angle = (track/diameter)*ang; //Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž³ÑÅÙ¤ò·×»»
spinAng(ang/2); //»ØÄꤵ¤ì¤¿³ÑÅÙ¤ÎȾʬÀû²ó
ResetTachoCount(OUT_AB); //³ÑÅÙ·×»»¤ò¥ê¥»¥Ã¥È
OnFwdSync(OUT_AB,50,-100); //È¿»þ·×²ó¤ê¤ËÀû²ó
while(MotorTachoCount(OUT_A)<=angle){
if(ultrasonic<d_min){ //¸½ºß¤Îµ÷Î¥¤¬²¾¤ÎºÇ¾®Ãͤè¤ê¾®¤µ¤¤¤È¤
d_min = ultrasonic; //²¾¤ÎºÇ¾®Ãͤò¹¹¿·¤·
tacho_min = MotorTachoCount(OUT_A); //¥¿¥¤¥ä¤Î²óž¿ô¤ò¹¹¿·
}
}
//¥¿¥¤¥ä¤Î²óž¿ô¡¢¤Þ¤¿¤Ïµ÷Î¥¥»¥ó¥µ¡¼¤¬²¾¤ÎºÇ¾®ÃͰʲ¼¤Ë¤Ê¤ë¤Þ¤ÇÀû²ó
OnFwdSyncEx(OUT_AB,50,100,RESET_NONE); //»þ·×²ó¤ê¤ËÀû²ó
until(MotorTachoCount(OUT_A)<=tacho_min || ultrasonic<=d_min);
adjust;
Wait(500);
return d_min;
}
***³Æ°ÜÆ°¤Î¥µ¥Ö¥ë¡¼¥Á¥ó [#qe5114cd]
¤³¤ì¤Ï»²¹Í»ñÎÁ¤ò±þÍѤ·¤Æºî¤Ã¤¿¹õÀþ¤ÎÃæ¿´¤ò¸þ¤¯¤è¤¦¤Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¤¬¡¢¹õÀþ¤Ë¼Ð¤á¤Ë¸þ¤¤¤Æ¤¤¤ë¤È°Õ¿Þ¤·¤Ê¤¤Êý¸þ¤Ë¸þ¤¤¤Æ¤·¤Þ¤¦¡£ºî¤Ã¤¿¸å¤Ëµ¤¤Å¤¡¢º£²ó¤ÏÍѤ¤¤é¤ì¤ë¤³¤È¤Ï¤Ê¤«¤Ã¤¿¡£
// ¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤǹõÀþ¤ÎÃæ¿´¤ò¸þ¤¯
sub search_light_center(long ang)
{
long tacho_min; //ºÇ¤â¶á¤¤µ÷Î¥¤ò¼Â¸½¤¹¤ë¥¿¥¤¥ä¤Î²óž¿ô
int light_min = 300; //ºÇ¤â°Å¤¤ÌÀ¤ë¤µ¤Î²¾¤ÎºÇ¾®ÃÍ
long angle = (track/diameter)*ang; //Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž³Ñ¤ò·×»»
spinAng(ang/2); //»ØÄꤷ¤¿³ÑÅÙ¤ÎȾʬÀû²ó
ResetTachoCount(OUT_AB); //³ÑÅÙ·×»»¤ò¥ê¥»¥Ã¥È
OnFwdSync(OUT_AB,50,-100);
while(MotorTachoCount(OUT_A)<=angle){
if(sensor_light<light_min){
light_min = sensor_light;
tacho_min = MotorTachoCount(OUT_A);
}
}
OnFwdSyncEx(OUT_AB,50,100,RESET_NONE); //»þ·×²ó¤ê¤ËÀû²ó
until(MotorTachoCount(OUT_A)<=tacho_min || sensor_light<=light_min);
adjust;
Wait(500);
}
¤³¤ì¤é¤Ï³ÆÃÏÅÀ¤Þ¤Ç°ÜÆ°¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£¥»¥ó¥µ¡¼¤¬¤¢¤ëÃͤˤʤë¤Þ¤Ç¥¿¥¤¥ä¤òÆ°¤«¤¹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¡£¤·¤«¤·¡¢¥í¥Ü¥Ã¥È¤òÆ°¤«¤·¤Æ¤¤¤¯¤¦¤Á¤ËÆ°ºî¤·¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¡¢¤³¤ì¤é¤ÏľÀÜËÜʸ¤Ë½ñ¤¹þ¤ßÄûÀµ¤·¤Æ¤¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¢¤³¤ì¤é¤âÍѤ¤¤é¤ì¤ë¤³¤È¤Ï¤Ê¤«¤Ã¤¿¡£
sub go_P() //º¸¾å¤Î»æ¥³¥Ã¥×¤«¤éP¤Þ¤Ç
{
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,-100);
}
adjust;
while(sensor_light<white-5){
OnFwd(OUT_A,50);
}
adjust;
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light<white-5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light>black+5){
OnFwd(OUT_A,50);
}
adjust;
}
sub go_P_Q() //P¤«¤éQ¤Þ¤Ç
{
while(sensor_light<white-5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
long t1 = CurrentTick();
while(CurrentTick()-t1<1500){
OnFwdSync(OUT_AB,50,0);
}
}
sub go_S_C() //S¤«¤éC¤Þ¤Ç
{
while(sensor_light<white-5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
}
***ÄÌ¿®¤Î¤¿¤á¤ÎÄêµÁ [#lf762737]
ÄÌ¿®¤¿¤á¤ÎÄêµÁ¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤¿¡£
#define ultrasonic SensorUS(S1) //Ķ²»ÇÈ¥»¥ó¥µ¡¼
#define master 0
#define slave 1
#define mail MAILBOX1
#define cup_age_little 20 //»æ¥³¥Ã¥×¤Á¤ç¤Ã¤È¾å¤²¤ë
#define cup_age 30 //»æ¥³¥Ã¥×¾å¤²¤ë
#define cup_sage 40 //»æ¥³¥Ã¥×²¼¤²¤ë
#define cup_re 50 //»æ¥³¥Ã¥×»ý¤Áľ¤¹
#define fin 9 //½ª¤ï¤ê
**¥¹¥ì¡¼¥Ö¦ÄêµÁ,¥µ¥Ö¥ë¡¼¥Á¥ó [#l4fc8aec]
***ÄÌ¿®¤Î¤¿¤á¤ÎÄêµÁ [#f34e189e]
¥Þ¥¹¥¿¡¼Â¦¤ÈƱÍͤǤ¢¤ë¡£
#define master 0
#define slave 1
#define mail MAILBOX1
#define cup_age_little 20 //»æ¥³¥Ã¥×¤Á¤ç¤Ã¤È¾å¤²¤ë
#define cup_age 30 //»æ¥³¥Ã¥×¾å¤²¤ë
#define cup_sage 40 //»æ¥³¥Ã¥×²¼¤²¤ë
#define cup_re 50 //»æ¥³¥Ã¥×»ý¤Áľ¤¹
#define fin 9 //½ª¤ï¤ê
***¥µ¥Ö¥ë¡¼¥Á¥ó [#n0590ac4]
¥¹¥ì¡¼¥Ö¦¤ÏÄϤà¥â¡¼¥¿¡¼¤È¾å¤²²¼¤²¤¹¤ë¥â¡¼¥¿¡¼¤ò¤Ä¤±¤Æ¤¤¤ë¤¿¤á¡¢¤³¤ì¤é¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£Æ°¤«¤¹³ÑÅ٤ϼ¸³Åª¤Ë½Ð¤·¤¿¡£
sub tukamu() //ÄϤà
{
RotateMotor(OUT_A,50,440);
adjust;
}
sub hanasu() //Î¥¤¹
{
RotateMotor(OUT_A,50,-440);
adjust;
}
sub up_little() //¾¯¤·¾å¤²¤ë
{
RotateMotor(OUT_B,60,-180);
adjust;
}
sub ageru() //¾å¤²¤ë
{
RotateMotor(OUT_B,60,-720);
adjust;
}
sub down_little() //¾¯¤·²¼¤²¤ë
{
RotateMotor(OUT_B,60,180);
adjust;
}
sub sageru() //²¼¤²¤ë
{
RotateMotor(OUT_B,60,720);
adjust;
}
**¥Þ¥¹¥¿¡¼Â¦ËÜʸ [#acdf8dd0]
¤³¤ÎÄ̤ê¤Ç¤¢¤ë¤¬¡¢ÌµÂ̤¬Â¿¤¤¤â¤Î¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£ÄÌ¿®¤Ë´Ø¤¹¤ë¥×¥í¥°¥é¥à¤Ï¥µ¥Ö¥ë¡¼¥Á¥ó¤Ê¤É¤Ç¤Þ¤È¤á¤¿Êý¤¬³Î¼Â¤ËÎɤ«¤Ã¤¿¡£
task main()
{
SetSensorLowspeed(S1);
SetSensorLight(S2);
//A¤«¤éB¤Þ¤Ç¹Ô¤¯
escape_A();
intertify_right();
//»æ¥³¥Ã¥×¤òõ¤·¤½¤Î5cm¼êÁ°¤Þ¤Ç¹Ô¤¯
int d1 = search_distance(90);
if(d1>10){
approach(d1-5);
}
//ÄÌ¿®(º¸¾å¤Î»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë) //
int msg1;
while(msg1!=fin){
ReceiveRemoteNumber(mail,true,msg1);
SendRemoteNumber(slave,mail,cup_age_little);
}
//ÄÌ¿®//
//¿Ê¤ó¤Àʬ¤À¤±Ìá¤ë
back(d1-5);
//B¤ÇÊý¸þž´¹¤·¤ÆP¤Þ¤Ç¹Ô¤¯//
spinAng(80); //P¤ÎÊý¤Ø¸þ¤¯
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
while(sensor_light<white-5){
OnFwd(OUT_B,50);
}
adjust;
intertify_right();
ÅÀP¤Ç¤Ï5ÅÙ¤À¤±Àû²ó¤µ¤»¤¿¤¬¡¢¤³¤ì¤Ï¡¢Q-S´Ö¤Ç³Î¼Â¤Ë¹õÀþ¤Îº¸Â¦¤Ë¥»¥ó¥µ¡¼¤ò»ý¤Ã¤Æ¹Ô¤¤¿¤«¤Ã¤¿¤«¤é¤Ç¤¢¤ë¡£
//P¤«¤éS¤Þ¤Ç¹Ô¤¯//
spinAng(5); //
approach(26);
while(sensor_light>black+5){
OnFwd(OUT_A,50);
}
adjust;
while(sensor_light<white-5){
OnFwd(OUT_B,50);
}
adjust;
intertify_right();
spinAng(90);
//ÄÌ¿®(»æ¥³¥Ã¥×»ý¤Áľ¤¹)//
int msg2;
while(msg2!=fin){
ReceiveRemoteNumber(mail,true,msg2);
SendRemoteNumber(slave,mail,cup_re);
}
//X¤ÎÊý¤Ë¸þ¤¯//
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,100);
}
adjust;
while(sensor_light<white-10){
OnFwd(OUT_A,50);
}
adjust;
intertify_left();
intertify_left();
//ÄÌ¿®(X¤Ç»æ¥³¥Ã¥×¾å¤²¤ë)//
int msg3;
while(msg3!=fin){
ReceiveRemoteNumber(mail,true,msg3);
SendRemoteNumber(slave,mail,cup_age);
}
adjust;
}
//Y¤ÎÊý¤Ë¸þ¤¯
spinAng(160);
¼ÂºÝ¤Ë¤¤ì¤¤¤ËÆ°¤¤¤¿¤Î¤Ï¤³¤³¤Þ¤Ç¤Ç¤¢¤ë¡£È¿Å¾¤·¤Æ¹õÀþ¤òǧ¼±¤¹¤ë¤Þ¤Ç¿Ê¤Þ¤»¤¿¤«¤Ã¤¿¤Î¤À¤¬¡¢Ç§¼±¤¹¤ë¤³¤È¤Ê¤¯¡¢Ä¾¿Ê¤·¤Æ¤·¤Þ¤Ã¤¿¡£¤â¤Ã¤ÈºÙ¤«¤Ë°ÜÆ°¤µ¤»¤é¤ì¤¿¤éÀ®¸ù¤·¤Æ¤¤¤¿¤«¤â¤·¤ì¤Ê¤¤¡£
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
//ÄÌ¿®(»æ¥³¥Ã¥×ÃÖ¤¯)//
int msg4;
while(msg4!=fin){
ReceiveRemoteNumber(mail,true,msg4);
SendRemoteNumber(slave,mail,cup_sage);
}
adjust;
//²¼¤Î»æ¥³¥Ã¥×¤ÎÊý¤Ë¸þ¤¯
while(sensor_light<white-5){
OnFwdSync(OUT_AB,-50,0);
}
adjust;
while(sensor_light>black+5){
OnRev(OUT_A,50);
}
adjust;
spinAng(90);
int d2 = search_distance(90);
if(d2>10){
approach(d2-5);
}
//ÄÌ¿®(»æ¥³¥Ã¥×¾¯¤·¾å¤²¤ë)//
int msg5;
while(msg5!=fin){
ReceiveRemoteNumber(mail,true,msg5);
SendRemoteNumber(slave,mail,cup_age_little);
}
//¿Ê¤ó¤Àʬ¤À¤±Ìá¤ë
back(d2-5);
//X¤ÎÊý¤Ë¸þ¤¯
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,100);
}
adjust;
while(sensor_light<white-5){
OnFwd(OUT_A,50);
}
adjust;
intertify_left();
//ÄÌ¿®(»æ¥³¥Ã¥×¤ò¾å¤²¤ë)//
int msg6;
while(msg6!=fin){
ReceiveRemoteNumber(mail,true,msg6);
SendRemoteNumber(slave,mail,cup_age);
}
adjust;
//Y¤Î¼êÁ°¤Ë¹Ô¤¯
spinAng(320);
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
//»æ¥³¥Ã¥×¤òÃÖ¤¯//
int msg7;
while(msg7!=fin){
ReceiveRemoteNumber(mail,true,msg7);
SendRemoteNumber(slave,mail,cup_sage);
}
//»Ä¤ê¤Î»æ¥³¥Ã¥×¤Î¼êÁ°¤Þ¤Ç¹Ô¤¯
spinAng_opposite(90);
int d3 = search_distance(90);
if(d3>10){
approach(d3-5);
}
//ÄÌ¿®(»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë)//
int msg8;
while(msg8!=fin){
ReceiveRemoteNumber(mail,true,msg8);
SendRemoteNumber(slave,mail,cup_age_little);
}
//¿Ê¤ó¤Àʬ¤À¤±Ìá¤ë
back(d3-5);
//X¤ÎÊý¤Ë¸þ¤¯
while(sensor_light>black+5){
OnFwdSync(OUT_AB,-50,100);
}
adjust;
intertify_right();
//ÄÌ¿®(»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë) //
int msg9;
while(msg9!=fin){
ReceiveRemoteNumber(mail,true,msg9);
SendRemoteNumber(slave,mail,cup_age);
}
adjust;
//Y¤Î¼êÁ°¤Þ¤Ç¹Ô¤¯
spinAng(320);
while(sensor_light>black+5){
OnFwdSync(OUT_AB,50,0);
}
adjust;
//ÄÌ¿®(»æ¥³¥Ã¥×ÃÖ¤¯)//
int msg10;
while(msg10!=fin){
ReceiveRemoteNumber(mail,true,msg10);
SendRemoteNumber(slave,mail,cup_sage);
}
}
**¥¹¥ì¡¼¥Ö¦ËÜʸ [#sfea136f]
¤³¤Î¤è¤¦¤ËƱ¤¸¤è¤¦¤Ë¥×¥í¥°¥é¥à¤¬Â³¤¤¤Æ¤¤¤ë¡£
task main()
{
//»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë
int msg1;
until(msg1==cup_age_little)
ReceiveRemoteNumber(mail,true,msg1);
while(msg1==cup_age_little){
sageru();
tukamu();
up_little();
SendResponseNumber(mail,fin);
Wait(500);
msg1 = "";
}
//»æ¥³¥Ã¥×¤ò»ý¤Áľ¤¹
int msg2;
until(msg2==cup_re)
ReceiveRemoteNumber(mail,true,msg2);
while(msg2==cup_re){
down_little();
hanasu();
tukamu();
up_little();
SendResponseNumber(mail,fin);
Wait(500);
msg2 = "";
}
//»æ¥³¥Ã¥×¤ò¾å¤²¤ë
int msg3;
until(msg3==cup_age)
ReceiveRemoteNumber(mail,true,msg3);
while(msg3==cup_age){
down_little();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg3 = "";
}
//»æ¥³¥Ã¥×¤òÃÖ¤¯
int msg4;
until(msg4==cup_sage)
ReceiveRemoteNumber(mail,true,msg4);
while(msg4==cup_sage){
sageru();
hanasu();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg4 = "";
}
¼ÂºÝ¤ËÆ°¤¤¤¿¤Î¤Ï¤³¤³¤Þ¤Ç¤Ç¤¢¤ë¡£
//²¼¤Î»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë
int msg5;
until(msg5==cup_age_little)
ReceiveRemoteNumber(mail,true,msg1);
while(msg5==cup_age_little){
sageru();
tukamu();
up_little();
SendResponseNumber(mail,fin);
Wait(500);
msg5 = "";
}
//»æ¥³¥Ã¥×¤ò¾å¤²¤ë
int msg6;
until(msg6==cup_age)
ReceiveRemoteNumber(mail,true,msg6);
while(msg6==cup_age){
down_little();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg6 = "";
}
//»æ¥³¥Ã¥×¤òÃÖ¤¯
int msg7;
until(msg7==cup_sage)
ReceiveRemoteNumber(mail,true,msg7);
while(msg7==cup_sage){
sageru();
hanasu();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg7 = "";
}
//»Ä¤ê¤Î»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë
int msg8;
until(msg8==cup_age_little)
ReceiveRemoteNumber(mail,true,msg1);
while(msg8==cup_age_little){
sageru();
tukamu();
up_little();
SendResponseNumber(mail,fin);
Wait(500);
msg8 = "";
}
//»æ¥³¥Ã¥×¤ò¾¯¤·¾å¤²¤ë
int msg9;
until(msg9==cup_age)
ReceiveRemoteNumber(mail,true,msg9);
while(msg9==cup_age){
down_little();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg9 = "";
}
//»æ¥³¥Ã¥×¤òÃÖ¤¯
int msg10;
until(msg10==cup_sage)
ReceiveRemoteNumber(mail,true,msg10);
while(msg10==cup_sage){
sageru();
hanasu();
ageru();
SendResponseNumber(mail,fin);
Wait(500);
msg10 = "";
}
}
*¤Þ¤È¤á [#oa2e9125]
**·ë²Ì [#gb7fd656]
¥×¥í¥°¥é¥à¤Ï£³¤Ä¤Î»æ¥³¥Ã¥×¤òÃÖ¤¯¤È¤³¤í¤Þ¤Çºî¤Ã¤¿¤Î¤À¤¬¡¢¼ÂºÝ¤Ï°ì¤ÄÌܤλ楳¥Ã¥×¤Î¥Ô¥ó¥Ý¥óµå¤òÃÖ¤¯¤È¤³¤í¤Þ¤Ç¤·¤«¤¤ì¤¤¤ËÆ°¤«¤Ê¤«¤Ã¤¿(1¤Ä¤·¤«ÏÈÆâ¤ËÆþ¤é¤Ê¤«¤Ã¤¿¤¬)¡£¤½¤Î¸å¤Ï¡¢È¿Å¾¤·¤ÆÅÀS¤Þ¤Ç¹Ô¤¤¿¤«¤Ã¤¿¤Î¤À¤¬¡¢¸òº¹ÅÀ¤ò¼±Ê̤Ǥ¤Ê¤¯¤Æ³¹ÔÉÔǽ¤È¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
**´¶ÁÛ [#c9ae0e59]
¤Þ¤º¡¢º£²ó¤Î²ÝÂê¤Ï»ä¤¬¤Û¤È¤ó¤É°ì¿Í¤Çºî¤Ã¤Æ¤¤Æ¤·¤Þ¤Ã¤¿¡£´üËö¥Æ¥¹¥È¤Î¤¿¤á»þ´Ö¤¬¤Ê¤«¤Ã¤¿¤È¤¤¤¦¤³¤È¤È¥×¥í¥°¥é¥à¤¬¥°¥ë¡¼¥×¤Ç1¤Ä¤À¤Ã¤¿¤È¤¤¤¦¤³¤È¤¬Â礤¤¤È»×¤¦¡£¤·¤«¤·¡¢ËÜÈ֤ǤÏ3°Ì¤È¤Ê¤ë¤³¤È¤¬¤Ç¤¤Æ·ë²Ì¤È¤·¤ÆÎɤ¤¤â¤Î¤Ë¤Ê¤Ã¤¿¤È»×¤¦¡£¤â¤Ã¤È»þ´Ö¤¬¤¢¤ì¤Ð¶¨ÎϤ·¤Æ¤µ¤é¤ËÎɤ¤¤â¤Î¤¬ºî¤ì¤¿¤«¤â¤·¤ì¤Ê¤¤¡£¥í¥Ü¥Æ¥£¥¯¥¹ÆþÌ祼¥ß¤òÄ̤·¤Æ¡¢Åö½é¼«Ê¬¤¬¤Ç¤¤ë¤È¤Ï»×¤Ã¤Æ¤Ê¤«¤Ã¤¿¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢¤È¤Æ¤âãÀ®´¶¤ò´¶¤¸¤ë¤³¤È¤¬¤Ç¤¤¿¡£ºÇ¸å¤Ë¡¢³Æ²ÝÂê¤Ë¤ª¤¤¤Æ¥á¥ó¥Ð¡¼¤ÈÏ䷹礤1¤Ä¤Î¤â¤Î¤òºî¤ê¾å¤²¤Æ¤¤¤¯¤È¤¤¤¦¡¢¤³¤ì¤Þ¤Ç¤Ï¤¢¤Þ¤ê·Ð¸³¤·¤Æ¤³¤Ê¤«¤Ã¤¿¤³¤È¤¬¤Ç¤¤ÆËÜÅö¤ËÎɤ«¤Ã¤¿¤È»×¤¦¡£ºÇ¸å¤Ï¤¢¤Þ¤ê¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¤ò¼è¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤À¤¬¡¢¤ä¤Ï¤ê¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¤ÏÂç»ö¤Ê¤Î¤À¤È³Ø¤Ö¤³¤È¤¬¤Ç¤¤¿¡£¤³¤ì¤ò¾Íè¤ËÀ¸¤«¤·¤Æ¤¤¤¤¿¤¤¤È»×¤¦¡£
¥Ú¡¼¥¸Ì¾: