- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
[[2016a/Member]]
#contents
*¤Ï¤¸¤á¤Ë [#db5768ef]
º£²ó¤Î²ÝÂê¤Ï²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¥ß¥Ã¥·¥ç¥ó¤ò¿ë¹Ô¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£
#ref(2016a-mission2.png)
¤Ê¤ª¡¢º£²ó¤Î»ä¤Î¥ß¥Ã¥·¥ç¥ó¤Ï
BÃÏÅÀ¤«¤éCÃÏÅÀ¤Ø
(BÃÏÅÀ ¢ª R±¦ÀÞ ¢ª Qľ¿Ê ¢ª Qľ¿Ê ¢ªP±¦ÀÞ ¢ª S±¦ÀÞ ¢ª CÃÏÅÀ)
¤Ç¤¢¤ë¡£([[2016ǯÅÙÁ°´ü ²ÝÂê2:http://yakushi.shinshu-u.ac.jp/robotics/?2016a%2FMission2]]°úÍÑ)
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#dcc4ff80]
*¥×¥í¥°¥é¥à [#h080aa93]
float GetAngle(float d)
{
const float diameter=5.45;¡¡¡¡¡¡¡¡//¥¿¥¤¥ä¤Îľ·Â(Ñ)
const float pi=3.1415;¡¡¡¡¡¡¡¡¡¡¡¡//±ß¼þΨ(¦Ð)
float ang = d/(diameter*pi)*360.0;¡¡¡¡//³ÑÅÙ¤ò·×»»¤¹¤ë
return ang;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//³ÑÅÙ¤òÊÖ¤¹¡¡
}
#define Ninety GetAngle(16.5)
#define Two GetAngle(2)
#define Usetsu RotateMotorEx(OUT_BC,50,Ninety,100,true,false);
#define Tyokusin RotateMotorEx(OUT_BC,50,Two,0,true,true);
#define Tyokushin RotateMotorEx(OUT_BC,50,Two,0,true,true);
#define THRESHOLD 45
#define SHIKIICHI 45
#define OnRL(b,c) OnFwd(OUT_B,b);OnFwd(OUT_C,c);
#define go_forward OnRL(50,50);
#define turn_left1 OnRL(25,-25); // º¸Àû²ó
#define turn_left0 OnRL(25,0); // º¸ÀÞ
#define turn_right0 OnRL(0,25); // ±¦ÀÞ
#define turn_right1 OnRL(-25,25); // ±¦Àû²ó
#define STEP 1 // 1²ó¤ÎȽÃǤÇÆ°ºî¤µ¤»¤ë»þ´Ö
#define nMAX 120
#define Sound PlaySound(SOUND_UP);Off(OUT_BC);Wait(2000); //¸òº¹ÅÀ¤Ç²»¤òÌĤ餹
int t=0; //¸òº¹ÅÀ¤òÄ̤俲ó¿ô
sub L_susumu() //¹õÀþ¤Îº¸Â¦¤ò¿Ê¤à
{
SetSensorLight(S3);
int n=0;
while (n < nMAX) {
if (SENSOR_3 < 30) {
if (SENSOR_3 < SHIKIICHI-15) {
turn_left1
n++;
t=t+1;
} else {
if (SENSOR_3 < 38) {
if (SENSOR_3 < SHIKIICHI-7) {
turn_left0
} else if (SENSOR_3 < 52) {
} else if (SENSOR_3 < SHIKIICHI+7) {
go_forward
} else if (SENSOR_3 < 60) {
} else if (SENSOR_3 < SHIKIICHI+15) {
turn_right0
} else {
turn_right1
}
n=0;
}
Wait(1000);
}
}
sub R_susumu() //¹õÀþ¤Î±¦Â¦¤ò¿Ê¤à
{
SetSensorLight(S3);
int n=0;
while (n < nMAX) {
if (SENSOR_3 < 30) {
if (SENSOR_3 < SHIKIICHI-15) {
turn_right1
n++;
t=t+1;
} else {
if (SENSOR_3 < 38) {
if (SENSOR_3 < SHIKIICHI-7) {
turn_right0
} else if (SENSOR_3 < 52) {
} else if (SENSOR_3 < SHIKIICHI+7) {
go_forward
} else if (SENSOR_3 < 60) {
} else if (SENSOR_3 < SHIKIICHI+15) {
turn_left0
} else {
turn_left1
}
n=0;
}
Wait(1000);
}
}
task main()
{
while(t <= 6){
if(t <= 1){
L_susumu();
Sound
Tyokushin //¥¹¥¿¡¼¥ÈÃÏÅÀ¤Ïľ¿Ê
n=0;
} else if (t <= 2){
Sound
Usetsu
n=0;
Off(OUT_BC);
OnFwd(OUT_B,50);
Wait(200);
Off(OUT_B); //1¤ÄÌܤθòº¹ÅÀ¤ò±¦À޸塢¹õÀþ¤Î±¦Â¦¤ò¿Ê¤à¤¿¤á°ÌÃÖÊÑ
R_susumu();
} else if (t <= 3){
Sound
Tyokushin
n=0;
Off(OUT_BC);
OnFwd(OUT_C,50);
Wait(200);
Off(OUT_C); //2¤ÄÌܤθòº¹ÅÀ¤òľ¿Ê¸å¡¢¹õÀþ¤Îº¸Â¦¤ò¿Ê¤à¤¿¤á°ÌÃÖÊÑ
L_susumu();
} else if (t <= 4){
Sound
Tyokushin //3¤ÄÌܤθòº¹ÅÀ¤Ïľ¿Ê
n=0;
L_susumu();
} else if {
Sound
Usetsu //4,5¤ÄÌܤθòº¹ÅÀ¤Ï±¦ÀÞ
n=0;
L_susumu();
}
}
OnFwd(OUT_BC,50);
Wait(3000);
Off(OUT_BC);
}
*´¶ÁÛ¡¦¹Í»¡ [#r903969b]