Ìܼ¡
¼«Ê¬¤Î̾Á°¤Î´Á»ú°ì»ú¤«¤é£·²è°Ê¾å¤Îʸ»ú¤òÁª¤Ó¡¢£Á£´ÍÑ»æ¤Ë¼ý¤Þ¤ë¤è¤¦¤Ë¤½¤Îʸ»ú¤ò½ñ¤¯¥í¥Ü¥Ã¥È¤È¥×¥í¥°¥é¥à¤ÎºîÀ®
»ä¤Ï¡ÖÂô¡×¤Î»ú¤òÁª¤Ö¤³¤È¤Ë¤·¤¿¡£
´õ˾Ä̤ê¤ÎÆ°¤¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¡¢¤«¤Ä´Êñ¤Êµ¡¹½¤Ç½ÐÍè¾å¤¬¤Ã¤¿¡£
¥Ú¥ó¤ÏÊÝ»ý¤¹¤ëÉôʬ¤Î¿¿¤óÃæ¤Ë¼è¤êÉÕ¤±¡¢¤½¤Î¾º¹ß¤Ï¥ê¥ó¥¯µ¡¹½¤Î¤è¤¦¤Ê¤â¤Î¤Ç¹Ô¤¦¤è¤¦¤Ë»Å¾å¤²¤¿¡£
¥Ú¥ó¤òÃæ±û¤Ë¼è¤êÉÕ¤±¤ë¤³¤È¤Ç¥×¥í¥°¥é¥à¤ÎÄ´À°¤¬¤·¤ä¤¹¤¯¤Ê¤ê¡¢¥ê¥ó¥¯µ¡¹½¤Î¤è¤¦¤Ê¤â¤Î¤Ç¾º¹ß¤µ¤»¤ë¤³¤È¤Ç¡¢¤¢¤ëÄøÅÙ¤è¤ê²¼¤¬¤ë¤È¥Ú¥ó¤Î¼«½Å¤Ç¥Ú¥óÀè¤ò»æ¤Ë¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
¤Ï¤¸¤á¤Ë¡¢Â¿¤¯»È¤¤Ä´À°¤Î¤¤¤ë´Ø¿ô¤ÎÄêµÁ¤È¥µ¥Ö¥ë¡¼¥Á¥ó¤òÄê¤á¤¿¡£
#define SPEED 35¡¡//ÃÙ¤á¤Î½ÐÎÏ£³£µ¡ó¤ËÀßÄê #define pen_dis 7.5 //²¼¤í¤·¤¿»þ¤Î¥Ú¥óÀè¤ÈËÜÂΤÎÀû²ó¤Î²óžÃæ¿´¤È¤Îµ÷Î¥
float GetAngle_turn(float a) //µá¤á¤ëËÜÂΤβóž³Ñ¤«¤é¥¿¥¤¥ä¤Î²óž³Ñ¤òµá¤á¤ë´Ø¿ô { const float diameter = 5.9; const float distance = 11.7; float ang = (a*distance)/diameter; return ang; }
float GetAngle_go(float a) //µá¤á¤ë°ÜÆ°µ÷Î¥¤«¤é¥¿¥¤¥ä¤Î²óž³Ñ¤òµá¤á¤ë´Ø¿ô { const float diameter = 5.9; const float pi = 3.1415; float ang = a/(diameter*pi)*360.0; return ang; }
sub turn_L(float t) //º¸¤ËtÅÙ²óž { int angle_turn_L = GetAngle_turn(t); RotateMotorEx(OUT_BC,SPEED,angle_turn_L,-100,true,true);//P37 Off(OUT_BC); }
sub turn_R(float t) //±¦¤ËtÅÙ²óž { int angle_turn_R = GetAngle_turn(t); RotateMotorEx(OUT_BC,SPEED,angle_turn_R,100,true,true);//P37 Off(OUT_BC); }
sub go_F(float t) //Á°¤Ët¥»¥ó¥Á¿Ê¤à { int angle_go_F = GetAngle_go(t); RotateMotorEx(OUT_BC,SPEED,angle_go_F,0,true,true); Off(OUT_BC); }
sub go_R(float t) //¸å¤í¤Ët¥»¥ó¥Á¿Ê¤à { int angle_go_R = GetAngle_go(t); RotateMotorEx(OUT_BC,-SPEED,angle_go_R,0,true,true); Off(OUT_BC); }
sub pen_UP() //¥Ú¥ó¤ò¾å¤²¤ë { RotateMotor(OUT_A,-SPEED,180); Off(OUT_A); } sub pen_DW() //¥Ú¥ó¤ò²¼¤²¤ë { RotateMotor(OUT_A,SPEED,180); Off(OUT_A); }
¤³¤³¤Þ¤Ç¤ÎÄêµÁ¤Ç¡¢²¿ÑÁ°¿Ê¡¦¸åÂà¤È¡¢²¿¡ë±¦Àû²ó¡¦º¸Àû²ó¤È¡¢¥Ú¥ó¤Î¾º¹ß¤ÎÌ¿Îá¤òºî¤ë¤³¤È¤¬¤Ç¤¤¿
¼¡¤«¤é¤Ï¤½¤ì¤é¤ò»È¤Ã¤Æ¡ÖÂô¡×¤Î»ú¤ò¤«¤¯¥×¥í¥°¥é¥à¤Ç¤¢¤ë
task main() { Wait(1000); //¥¹¥¤¥Ã¥Á¤ò²¡¤·¤Æ¤«¤é´Ö¤òÃÖ¤¯
go_F(6.0); turn_L(90.0); go_F(2.0); turn_R(105.0); go_R(pen_dis); pen_DW(); go_F(12.5);//Ãæ±û¤ÎŤ¤²è pen_UP();
go_F(pen_dis); turn_L(15.0); go_R(3.5); turn_L(45.0); go_R(3.0); pen_DW(); go_F(3.0);//¤µ¤ó¤º¤¤¤Î1ÈÖ¾å pen_UP();
turn_R(45.0); go_R(3.0); turn_L(45.0); go_R(3.0); pen_DW(); go_F(3.0);//¤µ¤ó¤º¤¤¤Î2ÈÖÌÜ pen_UP();
turn_L(90.0); go_R(3.0); pen_DW(); go_F(3.0);//¤µ¤ó¤º¤¤¤Î3ÈÖÌÜ pen_UP();
turn_R(135.0); go_F(6.0); turn_R(90.0); go_R(pen_dis); pen_DW(); go_F(6.0);//°ìÈÖ¾å¤Î¤è¤³¤Ü¤¦ pen_UP();
go_F(pen_dis); turn_R(90.0); go_R(pen_dis); pen_DW(); go_F(3.0);//±¦¤Î½ÄËÀ pen_UP();
go_F(pen_dis); turn_R(90.0); go_R(pen_dis); pen_DW(); go_F(6.5);//ÆóÈÖÌܤβ£ËÀ pen_UP();
go_F(5.5); turn_L(120.0); go_R(pen_dis); pen_DW(); go_F(10.0);//±¦²¼¤Î¼Ð¤áËÀ pen_UP();
go_F(pen_dis); turn_L(60.0); go_R(pen_dis); pen_DW(); go_F(1.2);//ʧ¤¤ pen_UP(); }