2016b/Member/yugogoma/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016b/Member]]
目次
#Contents
*課題 [#ofb10795]
前回のライントレースの延長で、さらに今回は二つのロボット...
バッターとピッチャーのロボットをそれぞれ通信させ、放たれ...
5球打ち合計の得点を競う。
*機体 [#a17c167b]
今回自分は投球ロボットを担当した。
投げる機構は、玉を高いところから転がし放つようにした。
しかし、高さが足りなかったので球速が落ちてしまい、玉がま...
投球場所までの移動はライントレースを用いた。
*投球ロボットプログラム [#j32e7f20]
**定義 [#h96ae104]
#define TURNR(A) RotateMotorEx(OUT_BC,40,A,100,true,t...
#define TURNL(L) RotateMotorEx(OUT_BC,40,L,-100,true,...
#define TYOKUSIN OnFwdSync(OUT_BC,40,0); ...
#define CM(K) RotateMotorEx(OUT_BC,40,20.47315*K,0,tr...
#define HASSYA RotateMotor(OUT_A,-90,90);Wait(1000);R...
**ラインを越えるためのサブルーチン [#bd0faf4d]
sub BASYO()
{
SetSensorLight(S1);
TYOKUSIN;
until(SENSOR_1<35);
Off(OUT_BC);
Wait(500);
CM(5);
Wait(500);
}
**本文 [#e7759b36]
まずゴールにぶつからないように向きを変え直進、そこで向き...
task main()
{
int SIREI;
TURNR(110);
CM(36);
TURNR(150);
repeat(3){ //ライン3回越える
BASYO();
}
CM(-13);//位置調整
TURNR(130);
until(BluetoothStatus(1)==NO_ERR);
RemotePlayTone(1,440,1000);
Wait(1000);
RemoteStartProgram(1,"DAGEKI.rxe");
while(SIREI<12){
ReceiveRemoteNumber(MAILBOX1,true,SIREI);
if(SIREI==11){
PlaySound(SOUND_CLICK);
Wait(200);
HASSYA;
SIREI=0;
}
}
}
*通信プログラム [#pfc57d62]
#define HASSYA RotateMotor(OUT_A,-90,90);Wait(1000);R...
#define CATCH Wait(500);RotateMotor(OUT_A,70,45);Wait...
#define UTU RotateMotor(OUT_A,-90,45);Wait(1000);ボー...
#define TURN(s,t) RotateMotorEx(OUT_BC,40,s,t,true,tr...
until(BluetoothStatus(1)==NO_ERR);//子機と通信ができ...
RemotePlayTone(1,440,1000);//子機の音を出させる
Wait(1000);
RemoteStartProgram(1,"DAGEKI.rxe");//子機のプログラム...
int x=1;//回数を計るために定義
task main()
{
UTU;//アームを上げる
while(x<6){
BATTING();//バッティングのサブルーチン
}
SendRemoteNumber(0,MAILBOX1,12);//親機のプログラ...
}
子機から親機へ指令
while(SIREI<12){
ReceiveRemoteNumber(MAILBOX1,true,SIREI);
if(SIREI==11){
PlaySound(SOUND_CLICK);
Wait(200);
HASSYA;
SIREI=0;
} else if(x==2){
TURN(95,-100);
UTU;
TURN(95,100);
x = x+1;
} else if(x==3){
TURN(40,100);
UTU;
TURN(40,-100);
x = x+1;
} else if(x==4){
TURN(45,-100);
UTU;
TURN(45,100);
x = x+1;
} else {
TURN(45,-100);
UTU;
TURN(45,100);
x = x+1;
}
}
*反省 [#m818e60d]
位置通りに動いたが、プログラムをもう少し簡略したかった。
今回機体の作成に時間がかかり、相方とプログラムの確認があ...
終了行:
[[2016b/Member]]
目次
#Contents
*課題 [#ofb10795]
前回のライントレースの延長で、さらに今回は二つのロボット...
バッターとピッチャーのロボットをそれぞれ通信させ、放たれ...
5球打ち合計の得点を競う。
*機体 [#a17c167b]
今回自分は投球ロボットを担当した。
投げる機構は、玉を高いところから転がし放つようにした。
しかし、高さが足りなかったので球速が落ちてしまい、玉がま...
投球場所までの移動はライントレースを用いた。
*投球ロボットプログラム [#j32e7f20]
**定義 [#h96ae104]
#define TURNR(A) RotateMotorEx(OUT_BC,40,A,100,true,t...
#define TURNL(L) RotateMotorEx(OUT_BC,40,L,-100,true,...
#define TYOKUSIN OnFwdSync(OUT_BC,40,0); ...
#define CM(K) RotateMotorEx(OUT_BC,40,20.47315*K,0,tr...
#define HASSYA RotateMotor(OUT_A,-90,90);Wait(1000);R...
**ラインを越えるためのサブルーチン [#bd0faf4d]
sub BASYO()
{
SetSensorLight(S1);
TYOKUSIN;
until(SENSOR_1<35);
Off(OUT_BC);
Wait(500);
CM(5);
Wait(500);
}
**本文 [#e7759b36]
まずゴールにぶつからないように向きを変え直進、そこで向き...
task main()
{
int SIREI;
TURNR(110);
CM(36);
TURNR(150);
repeat(3){ //ライン3回越える
BASYO();
}
CM(-13);//位置調整
TURNR(130);
until(BluetoothStatus(1)==NO_ERR);
RemotePlayTone(1,440,1000);
Wait(1000);
RemoteStartProgram(1,"DAGEKI.rxe");
while(SIREI<12){
ReceiveRemoteNumber(MAILBOX1,true,SIREI);
if(SIREI==11){
PlaySound(SOUND_CLICK);
Wait(200);
HASSYA;
SIREI=0;
}
}
}
*通信プログラム [#pfc57d62]
#define HASSYA RotateMotor(OUT_A,-90,90);Wait(1000);R...
#define CATCH Wait(500);RotateMotor(OUT_A,70,45);Wait...
#define UTU RotateMotor(OUT_A,-90,45);Wait(1000);ボー...
#define TURN(s,t) RotateMotorEx(OUT_BC,40,s,t,true,tr...
until(BluetoothStatus(1)==NO_ERR);//子機と通信ができ...
RemotePlayTone(1,440,1000);//子機の音を出させる
Wait(1000);
RemoteStartProgram(1,"DAGEKI.rxe");//子機のプログラム...
int x=1;//回数を計るために定義
task main()
{
UTU;//アームを上げる
while(x<6){
BATTING();//バッティングのサブルーチン
}
SendRemoteNumber(0,MAILBOX1,12);//親機のプログラ...
}
子機から親機へ指令
while(SIREI<12){
ReceiveRemoteNumber(MAILBOX1,true,SIREI);
if(SIREI==11){
PlaySound(SOUND_CLICK);
Wait(200);
HASSYA;
SIREI=0;
} else if(x==2){
TURN(95,-100);
UTU;
TURN(95,100);
x = x+1;
} else if(x==3){
TURN(40,100);
UTU;
TURN(40,-100);
x = x+1;
} else if(x==4){
TURN(45,-100);
UTU;
TURN(45,100);
x = x+1;
} else {
TURN(45,-100);
UTU;
TURN(45,100);
x = x+1;
}
}
*反省 [#m818e60d]
位置通りに動いたが、プログラムをもう少し簡略したかった。
今回機体の作成に時間がかかり、相方とプログラムの確認があ...
ページ名: