2015a/Member

Ìܼ¡

²ÝÂê

º£²ó¤Î²ÝÂê¤ÏȾ·Â1m°ÊÆâ¤Ë¤¢¤ë¶õ¤­´Ì¤òõ¤·¤Æ¡¢25cm¤Îµ÷Î¥¤«¤é¥Ü¡¼¥ë¤òž¤¬¤·¡¢¤½¤Î¶õ¤­´Ì¤ËÅö¤Æ¤ë¥í¥Ü¥Ã¥È¤òÀ½ºî¤¹¤ë¤³¤È¤Ç¤¹¡£

¤¿¤À¤·25cm°ÊÆâ¤Ë¶õ¤­´Ì¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢30cm¤Þ¤ÇÎ¥¤ì¤ë¤³¤È¤¬¾ò·ï¤È¤Ê¤ê¤Þ¤¹¡£

¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ

1437370259375.jpg 1437370269191.jpg

¥í¥Ü¥Ã¥È¤Ï²ÝÂꣲ¤Ç»È¤Ã¤¿¤â¤Î¤ò±þÍѤµ¤»¤Þ¤·¤¿¡£

¥·¥ç¥Ù¥ë¤ÎÉôʬ¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¤¿¤é¡¢¤«¤Ê¤ê½Å¤¯¤Ê¤êÆ°¤­¤¬¿´ÇÛ¤À¤Ã¤¿¤Î¤Ç ¥¢¡¼¥à¼þÊդΥѡ¼¥Ä¤ò¼è¤ê½ü¤­·ÚÎ̲½¤µ¤»¤Þ¤·¤¿¡£

¤Þ¤¿Á°²ó¤ÎÌäÂêÅÀ¤Ç¤â¤¢¤Ã¤¿½ÅÎ̤äÂ礭¤µ¤Ë¤Ä¤¤¤Æ¤âËÜÂΤ˻Ȥ¦¥Ñ¡¼¥Ä¤ò¸º¤é¤·¤Æ¡¢ °ì²ó¤ê¾®¤µ¤¯¤µ¤»¤Þ¤·¤¿¡£

¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

#define SPEED 50
#define SPEED_SLOW 30
#define down OnFwd(OUT_A,50);Wait(500);Off(OUT_A);Wait(300);
#define up OnRev(OUT_A,60);Wait(500);Off(OUT_A);Wait(300);
#define goal OnRev(OUT_BC,50);Wait(500);Off(OUT_BC);Wait(500);\
 up;OnFwd(OUT_BC,100);Wait(300);Off(OUT_BC);
const float diameter=5.45;
const float track=10.35;
const float pi=3.1415;
void fwdDist(float d)¡¡¡¡¡¡¡¡//µ÷Î¥d­ÑÁ°¿Ê
{
 long angle;
 angle=d/(diameter*pi)*360.0;
 RotateMotorEx(OUT_BC,SPEED_SLOW,angle,0,true,true);
}
void turnAng(long ang)¡¡¡¡¡¡//³ÑÅÙangÅ٤λþ·×²ó¤êÀû²ó
{
 long angle;
 angle=track/diameter*ang;
 RotateMotorEx(OUT_BC,SPEED_SLOW,angle,100,true,true);
}
int searchDirection(long ang)¡¡¡¡//¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤÇõ¤·¾ã³²Êª¤Þ¤Ç¤Îµ÷Î¥¤òÊÖ¤¹
{
 long angle,tacho_min=0,
 int d_min;
 d_min=300;  //²¾¤ÎºÇ¾®ÃÍ
 angle=(track/diameter)*ang;¡¡¡¡¡¡//Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž¤ò·×»»
 turnAng(ang/2);                  //»ØÄꤵ¤ì¤¿³ÑÅÙ¤ÎȾʬ¤òÀû²ó
 ResetTachoCount(OUT_BC);         //³ÑÅٷ׬¤ò¥ê¥»¥Ã¥È
 OnFwdSync(OUT_BC,SPEED_SLOW,-100);¡¡¡¡//È¿»þ·×²ó¤êÀû²ó
 while(MotorTachoCount(OUT_B)<=angle){
    if(SensorUS(S1)<d_min){¡¡//¤½¤ì¤Þ¤Ç¤ÎºÇ¾®Ãͤè¤êÄ㤱¤ì¤Ð
     d_min=SensorUS(S1);¡¡¡¡//²¾¤ÎºÇ¾®Ãͤò¹¹¿·
      tacho_min=MotorTachoCount(OUT_B);¡¡¡¡//ºÇ¾®Ãͤòµ­Ï¿¤·¤¿°ÌÃÖ¤òµ­²±¤·¤Æ¤ª¤¯
    }
  }
 OnFwdSyncEx(OUT_BC,SPEED_SLOW,100,RESET_NONE);
 until(MotorTachoCount(OUT_B)<=tacho_min||SensorUS(S1)<=d_min);
 Wait(14);¡¡¡¡//ÈùÄ´À°
 Off(OUT_BC);Wait(500);
 return d_min;¡¡//ºÇ¾®ÃͤòÊÖ¤¹
}
task main()
{
 repeat(2){
 SetSensorLowspeed(S1);
 int d=searchDirection(360);
 if(d>10){
    fwdDist(d-10.0);
 goal;
     }
   }
}

¥×¥í¥°¥é¥à¤Ï¤â¤é¤Ã¤¿¥×¥ê¥ó¥È¤ò¥Ù¡¼¥¹¤ËÁȤßΩ¤Æ¤Þ¤·¤¿¡£

°ì²ó¤Îº÷Ũ¤Ç¤ÏÀµ³Î¤ËÌÜɸ¤òõ¤»¤Ê¤«¤Ã¤¿¤Î¤ÇÆó²ó¹Ô¤¦¤³¤È¤ÇÀºÌ©À­¤ò¹â¤á¤Þ¤·¤¿¡£

¤µ¤é¤Ë¥í¥Ü¥Ã¥È¤ÎÆ°¤­¤¬Â翶¤ê¤Ë¤Ê¤é¤Ê¤¤¤è¤¦¡¢¥¹¥Ô¡¼¥É¤òÍÞ¤¨¤Þ¤·¤¿¡£

¥´¡¼¥ë¤Î¥×¥í¥°¥é¥à¤ÏÁ°²ó¤Î²ÝÂê¤Ç¤âÍѤ¤¤¿¤â¤Î¤Ç¤¹¤¬¡¢¥·¥ç¥Ù¥ë¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼¤òÉÕ¤±¤¿·ë²Ì¡¢ ¥¢¡¼¥à¤ò²¼¤í¤¹»þ¤ËÀª¤¤¤¬¶¯¤«¤Ã¤¿¤Î¤Ç¥Ñ¥ï¡¼¤ò½¤Àµ¤·¤Þ¤·¤¿¡£

È¿¾ÊÅÀ¤È¤Þ¤È¤á

¼¡¤Î¥í¥Ü¥³¥ó¤Î½àÈ÷¤ò¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤«¤Ã¤¿¤Î¤Ç¤³¤Î²ÝÂê¤Ë¼è¤êÁȤó¤Ç¤¤¤é¤ì¤ë»þ´Ö¤¬¾¯¤Ê¤¯¡¢ ¥í¥Ü¥Ã¥È¤ò°ì¤«¤éÁȤßΩ¤Æ¤Æ¤¤¤¯¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¤Ç¤·¤¿¡£

¤·¤«¤·¤Ç¤­¤ë¸Â¤ê¤Î²þÎɤò²Ã¤¨¤Æ¡¢¶õ¤­´Ì¤Ë¥Ü¡¼¥ë¤ò¤Ö¤Ä¤±¤ë¤³¤È¤¬½ÐÍ褿¤Î¤Ï¡¢ ¸Â¤é¤ì¤¿»þ´Ö¤ÎÃæ¤Ç¤è¤¯¤Ç¤­¤¿¤È»×¤¤¤Þ¤¹¡£

º£²ó¤Ï¤¢¤Þ¤ê¥Á¡¼¥à¤Ç½¸¤Þ¤ì¤º¡¢¶¨ÎϤ·¤Å¤é¤«¤Ã¤¿¤Î¤Ç¼¡¤Î¥í¥Ü¥³¥ó¤Ï ¥Á¡¼¥à¤ÇÏ¢·È¤·¤ÆÄ©¤ß¤¿¤¤¤Ç¤¹¡£


źÉÕ¥Õ¥¡¥¤¥ë: file1437370269191.jpg 215·ï [¾ÜºÙ] file1437370259375.jpg 208·ï [¾ÜºÙ]

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2015-08-11 (²Ð) 20:28:12