2013a/Member/chikuzenni/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*ロボットの紹介 [#uea94bcd]
-まずはロボットのサイズをできるだけ小さくすることに尽力し...
-光センサの高さをできるだけ低くすることでラインの中と外で
数値にはっきりとした差が現れるようにした。
-タッチセンサをハサミより少し手前に出すことで反応しやすく...
-ハサミを噛みあいやすく作ることで運ぶ時の安定感を増した。
*コースの攻略 [#ie05be5f]
**時計回り [#sadfaf3c]
どうしても最初の交差点を認識出来ずに曲がってしまったので...
ライントレースをし、1秒間直進する。その後再びライントレー...
交差点に差し掛かる直前から交差点を認識するようにし、2つ交...
ライントレースに切り替える。最後の交差点に差し掛かったら...
交差点を渡ったらまたライントレースに切り替える。
缶を置く地点をすぎるまでライントレースをする。
180度旋回し、缶を手放し、再び180度旋回して、ライントレー...
そのままゴールに向かう。
**反時計回り [#ic63b71c]
一つ目の交差点に差し掛かる直前までは、黒い線に入ったら左...
ライントレースだけをして、交差点付近から交差点を認識する...
左旋回を4回繰り返したら交差点であると判断し、交差点を渡...
その後また純粋なライントレースに切り替え、再び交差点付近...
今度は二回交差点を渡った時点で純粋なライントレースをし、...
缶を置く地点を通り過ぎるまでライントレースをし、180度旋回...
バックしてまた180度旋回して、ライントレースを再開し、ゴー...
*プログラム [#od505e9b]
**時計回り [#pdf87804]
#define BLACK1 36 //光センサーがこの値以下なら黒い線の中
#define BLACK2 38 //この値以下かつBLACK1以上なら黒い線...
#define WHITE1 46 //この値以下かつBLACK2以上なら線付近...
#define WHITE2 50 //この値以下なら線付近。超えると線か...
#define HIPOWER 7 //モーターを動かす力の強さを調整する。
#define LOWPOWER 1
#define set_power_H SetPower(OUT_AC,HIPOWER); //強い力...
#define set_power_L SetPower(OUT_AC,LOWPOWER); //弱い...
#define go_fwd set_power_H; OnFwd(OUT_AC); //前進する
#define turn_right1 set_power_L; Off(OUT_A); OnFwd(OUT_C...
#define turn_left1 set_power_L; OnFwd(OUT_A); Off(OUT_C)...
#define turn_right2 set_power_H; OnRev(OUT_A); OnFwd(OUT...
#define turn_left2 set_power_H; OnFwd(OUT_A); OnRev(OUT_...
#define STEP 1 //一回の命令を継続する時間
#define nMAX 4 //この値の回数だけ時計回りの旋回を繰り...
#define short_break Off(OUT_AC); Wait(100); //一時停止
#define CROSS_TIME 30 //交差点を渡るのにかかる時間
#define cross_line set_power_L; OnFwd(OUT_AC); Wait(CRO...
#define time1 1650 //一つ目の交差点直前までの時間
#define time2 1000 //二つ目の円を回る時間
#define time3 1000 //交差点をすべてわたってから缶を置...
ここまでで動作などを定義する。
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT); //光センサーを使用...
SetSensor(SENSOR_2,SENSOR_TOUCH); //タッチセンサーを...
int nOnline=0; //線の中ほどに入ると1増える関数
int nCloss=0; //交差点を渡ると1増える関数
ClearTimer(0); //タイマーを設定する
if(SENSOR_2 == 0) {
OnRev(OUT_B); //ハサミを開く
}
センサーを設定し、関数を定義する。 また、ハサミを開い...
while (FastTimer(0) <= time1){ //決めた時間まで繰り返す
if(SENSOR_2 == 1){ //缶がタッチセンサーに触れた...
OnFwd(OUT_B);
} if(SENSOR_1 < BLACK1) { //線の中ほどで旋回する
turn_right2;
} else if (SENSOR_1 < BLACK2) { //線の内側で曲がる
turn_right1;
} else if (SENSOR_1 < WHITE1) { //
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
最初の交差点直前までライントレースする。
Off(OUT_AC);
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(100);
PlaySound(SOUND_LOW_BEEP);
最初の交差点は上手く判断出来なかったため、一秒間直進し...
while (nCloss <= 1) {
while(nOnline < nMAX){
if(SENSOR_1 < BLACK1) {
turn_right2;
nOnline++;
} else {
if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
nOnline=0;
}
Wait(STEP);
}
PlaySound(SOUND_UP);
short_break;
turn_left1; Wait(nMAX*STEP);
cross_line;
nCloss++;
nOnline=0;
}
ClearTimer(0);
交差点を2つ渡る。
PlaySound(SOUND_LOW_BEEP);
while (FastTimer(0) <= time2){
if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
しばらくライントレースのみ。
PlaySound(SOUND_LOW_BEEP);
while ((nCloss > 1)&&(nCloss <= 2)) {
while(nOnline < nMAX){
if(SENSOR_1 < BLACK1) {
turn_right2;
nOnline++;
} else {
if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
nOnline=0;
}
Wait(STEP);
}
PlaySound(SOUND_UP);
short_break;
turn_left1; Wait(nMAX*STEP);
cross_line;
nCloss++;
nOnline=0;
}ClearTimer(0);
最後の交差点を渡る。
PlaySound(SOUND_LOW_BEEP);
while (FastTimer(0) <= time3){
if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
缶を置く地点をすぎるまでトレースする。
PlaySound(SOUND_LOW_BEEP);
Off(OUT_AC);
Wait(100);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(180);
Off(OUT_AC);
OnRev(OUT_B);
OnRev(OUT_AC);
Wait(50);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(180);
缶を置く地点を通り過ぎたら180度旋回し、缶を手放す。
そして180度旋回してコースに戻る。
PlaySound(SOUND_LOW_BEEP);
while (true){
if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
}
ゴールする。
**反時計回り [#lbe134c1]
#define BLACK1 36
#define BLACK2 42
#define WHITE1 46
#define WHITE2 48
#define HIPOWER 7
#define LOWPOWER 1
#define set_power_H SetPower(OUT_AC,HIPOWER);
#define set_power_L SetPower(OUT_AC,LOWPOWER);
#define go_fwd set_power_H; OnFwd(OUT_AC);
#define turn_left1 set_power_L; Off(OUT_A); OnFwd(OUT_C);
#define turn_right1 set_power_L; OnFwd(OUT_A); Off(OUT_C);
#define turn_left2 set_power_H; OnRev(OUT_A); OnFwd(OUT_...
#define turn_right2 set_power_H; OnFwd(OUT_A); OnRev(OUT...
#define STEP 1
#define nMAX 4
#define short_break Off(OUT_AC); Wait(100);
#define CROSS_TIME 30
#define cross_line set_power_L; OnFwd(OUT_AC); Wait(CRO...
#define time1 1000
#define time2 500
#define time3 2000
ここまでで動作、時間等を定義する。
task main() {
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
int nOnline=0;
int nCloss=0; //交差点を曲がった数
ClearTimer(0);
if(SENSOR_2 == 0) {
OnRev(OUT_B);
}
センサーの設定、関数の設定をする。
また、ハサミを開いておく。
while(FastTimer(0) <= time1){
if(SENSOR_2 == 1){
OnFwd(OUT_B);
} if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
交差点に差し掛かるまで、ただのライントレース。
PlaySound(SOUND_LOW_BEEP);
while(nCloss <= 0) {
while(nOnline < nMAX){
if(SENSOR_1 < BLACK1) {
turn_right2;
nOnline++;
} else {
if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
nOnline=0;
}
Wait(STEP);
}
PlaySound(SOUND_UP);
short_break;
turn_left1; Wait(nMAX*STEP);
cross_line;
nCloss++;
nOnline=0;
}
一度交差点を曲がったら輪の内側での交差点誤認識を防ぐ...
ClearTimer(0); //ここでタイマーをリセットして時間の...
PlaySound(SOUND_LOW_BEEP);
while(FastTimer(0) <= time2){
} if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
PlaySound(SOUND_LOW_BEEP);
while((nCloss > 0)&&(nCloss <= 4)) {
while(nOnline < nMAX){
if(SENSOR_1 < BLACK1) {
turn_right2;
nOnline++;
} else {
if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
nOnline=0;
}
Wait(STEP);
}
PlaySound(SOUND_UP);
short_break;
turn_left1; Wait(nMAX*STEP);
cross_line;
nCloss++;
nOnline=0;
}
}
ここからは交差点を曲がる必要がないのでライントレース...
ClearTimer(0);//ここでもタイマーをリセットする。
PlaySound(SOUND_LOW_BEEP);
while(FastTimer(0) <= time3){
} if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
缶をおくところまで時間で指定
PlaySound(SOUND_LOW_BEEP);
Off(OUT_AC);
Wait(100);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
Off(OUT_AC);
OnRev(OUT_B);
OnRev(OUT_AC);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
PlaySound(SOUND_LOW_BEEP);
缶を置いたら再びライントレースでゴールに向かう。
while(true){
} if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
}
*苦労した点 [#db805d78]
+時間で区切っていたが、時間を測って調整している間に電池残...
丁度いい時間設定が出来なかった。
+缶が軽くてタッチセンサーが上手く反応しなかった。
*感想 [#r61591a1]
グループで時間を合わせられず、大変だった。
課題2では、予定を確認しあい、効率的に作業を進めたい。
終了行:
*ロボットの紹介 [#uea94bcd]
-まずはロボットのサイズをできるだけ小さくすることに尽力し...
-光センサの高さをできるだけ低くすることでラインの中と外で
数値にはっきりとした差が現れるようにした。
-タッチセンサをハサミより少し手前に出すことで反応しやすく...
-ハサミを噛みあいやすく作ることで運ぶ時の安定感を増した。
*コースの攻略 [#ie05be5f]
**時計回り [#sadfaf3c]
どうしても最初の交差点を認識出来ずに曲がってしまったので...
ライントレースをし、1秒間直進する。その後再びライントレー...
交差点に差し掛かる直前から交差点を認識するようにし、2つ交...
ライントレースに切り替える。最後の交差点に差し掛かったら...
交差点を渡ったらまたライントレースに切り替える。
缶を置く地点をすぎるまでライントレースをする。
180度旋回し、缶を手放し、再び180度旋回して、ライントレー...
そのままゴールに向かう。
**反時計回り [#ic63b71c]
一つ目の交差点に差し掛かる直前までは、黒い線に入ったら左...
ライントレースだけをして、交差点付近から交差点を認識する...
左旋回を4回繰り返したら交差点であると判断し、交差点を渡...
その後また純粋なライントレースに切り替え、再び交差点付近...
今度は二回交差点を渡った時点で純粋なライントレースをし、...
缶を置く地点を通り過ぎるまでライントレースをし、180度旋回...
バックしてまた180度旋回して、ライントレースを再開し、ゴー...
*プログラム [#od505e9b]
**時計回り [#pdf87804]
#define BLACK1 36 //光センサーがこの値以下なら黒い線の中
#define BLACK2 38 //この値以下かつBLACK1以上なら黒い線...
#define WHITE1 46 //この値以下かつBLACK2以上なら線付近...
#define WHITE2 50 //この値以下なら線付近。超えると線か...
#define HIPOWER 7 //モーターを動かす力の強さを調整する。
#define LOWPOWER 1
#define set_power_H SetPower(OUT_AC,HIPOWER); //強い力...
#define set_power_L SetPower(OUT_AC,LOWPOWER); //弱い...
#define go_fwd set_power_H; OnFwd(OUT_AC); //前進する
#define turn_right1 set_power_L; Off(OUT_A); OnFwd(OUT_C...
#define turn_left1 set_power_L; OnFwd(OUT_A); Off(OUT_C)...
#define turn_right2 set_power_H; OnRev(OUT_A); OnFwd(OUT...
#define turn_left2 set_power_H; OnFwd(OUT_A); OnRev(OUT_...
#define STEP 1 //一回の命令を継続する時間
#define nMAX 4 //この値の回数だけ時計回りの旋回を繰り...
#define short_break Off(OUT_AC); Wait(100); //一時停止
#define CROSS_TIME 30 //交差点を渡るのにかかる時間
#define cross_line set_power_L; OnFwd(OUT_AC); Wait(CRO...
#define time1 1650 //一つ目の交差点直前までの時間
#define time2 1000 //二つ目の円を回る時間
#define time3 1000 //交差点をすべてわたってから缶を置...
ここまでで動作などを定義する。
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT); //光センサーを使用...
SetSensor(SENSOR_2,SENSOR_TOUCH); //タッチセンサーを...
int nOnline=0; //線の中ほどに入ると1増える関数
int nCloss=0; //交差点を渡ると1増える関数
ClearTimer(0); //タイマーを設定する
if(SENSOR_2 == 0) {
OnRev(OUT_B); //ハサミを開く
}
センサーを設定し、関数を定義する。 また、ハサミを開い...
while (FastTimer(0) <= time1){ //決めた時間まで繰り返す
if(SENSOR_2 == 1){ //缶がタッチセンサーに触れた...
OnFwd(OUT_B);
} if(SENSOR_1 < BLACK1) { //線の中ほどで旋回する
turn_right2;
} else if (SENSOR_1 < BLACK2) { //線の内側で曲がる
turn_right1;
} else if (SENSOR_1 < WHITE1) { //
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
最初の交差点直前までライントレースする。
Off(OUT_AC);
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(100);
PlaySound(SOUND_LOW_BEEP);
最初の交差点は上手く判断出来なかったため、一秒間直進し...
while (nCloss <= 1) {
while(nOnline < nMAX){
if(SENSOR_1 < BLACK1) {
turn_right2;
nOnline++;
} else {
if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
nOnline=0;
}
Wait(STEP);
}
PlaySound(SOUND_UP);
short_break;
turn_left1; Wait(nMAX*STEP);
cross_line;
nCloss++;
nOnline=0;
}
ClearTimer(0);
交差点を2つ渡る。
PlaySound(SOUND_LOW_BEEP);
while (FastTimer(0) <= time2){
if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
しばらくライントレースのみ。
PlaySound(SOUND_LOW_BEEP);
while ((nCloss > 1)&&(nCloss <= 2)) {
while(nOnline < nMAX){
if(SENSOR_1 < BLACK1) {
turn_right2;
nOnline++;
} else {
if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
nOnline=0;
}
Wait(STEP);
}
PlaySound(SOUND_UP);
short_break;
turn_left1; Wait(nMAX*STEP);
cross_line;
nCloss++;
nOnline=0;
}ClearTimer(0);
最後の交差点を渡る。
PlaySound(SOUND_LOW_BEEP);
while (FastTimer(0) <= time3){
if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
缶を置く地点をすぎるまでトレースする。
PlaySound(SOUND_LOW_BEEP);
Off(OUT_AC);
Wait(100);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(180);
Off(OUT_AC);
OnRev(OUT_B);
OnRev(OUT_AC);
Wait(50);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(180);
缶を置く地点を通り過ぎたら180度旋回し、缶を手放す。
そして180度旋回してコースに戻る。
PlaySound(SOUND_LOW_BEEP);
while (true){
if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
}
ゴールする。
**反時計回り [#lbe134c1]
#define BLACK1 36
#define BLACK2 42
#define WHITE1 46
#define WHITE2 48
#define HIPOWER 7
#define LOWPOWER 1
#define set_power_H SetPower(OUT_AC,HIPOWER);
#define set_power_L SetPower(OUT_AC,LOWPOWER);
#define go_fwd set_power_H; OnFwd(OUT_AC);
#define turn_left1 set_power_L; Off(OUT_A); OnFwd(OUT_C);
#define turn_right1 set_power_L; OnFwd(OUT_A); Off(OUT_C);
#define turn_left2 set_power_H; OnRev(OUT_A); OnFwd(OUT_...
#define turn_right2 set_power_H; OnFwd(OUT_A); OnRev(OUT...
#define STEP 1
#define nMAX 4
#define short_break Off(OUT_AC); Wait(100);
#define CROSS_TIME 30
#define cross_line set_power_L; OnFwd(OUT_AC); Wait(CRO...
#define time1 1000
#define time2 500
#define time3 2000
ここまでで動作、時間等を定義する。
task main() {
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
int nOnline=0;
int nCloss=0; //交差点を曲がった数
ClearTimer(0);
if(SENSOR_2 == 0) {
OnRev(OUT_B);
}
センサーの設定、関数の設定をする。
また、ハサミを開いておく。
while(FastTimer(0) <= time1){
if(SENSOR_2 == 1){
OnFwd(OUT_B);
} if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
交差点に差し掛かるまで、ただのライントレース。
PlaySound(SOUND_LOW_BEEP);
while(nCloss <= 0) {
while(nOnline < nMAX){
if(SENSOR_1 < BLACK1) {
turn_right2;
nOnline++;
} else {
if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
nOnline=0;
}
Wait(STEP);
}
PlaySound(SOUND_UP);
short_break;
turn_left1; Wait(nMAX*STEP);
cross_line;
nCloss++;
nOnline=0;
}
一度交差点を曲がったら輪の内側での交差点誤認識を防ぐ...
ClearTimer(0); //ここでタイマーをリセットして時間の...
PlaySound(SOUND_LOW_BEEP);
while(FastTimer(0) <= time2){
} if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
PlaySound(SOUND_LOW_BEEP);
while((nCloss > 0)&&(nCloss <= 4)) {
while(nOnline < nMAX){
if(SENSOR_1 < BLACK1) {
turn_right2;
nOnline++;
} else {
if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
nOnline=0;
}
Wait(STEP);
}
PlaySound(SOUND_UP);
short_break;
turn_left1; Wait(nMAX*STEP);
cross_line;
nCloss++;
nOnline=0;
}
}
ここからは交差点を曲がる必要がないのでライントレース...
ClearTimer(0);//ここでもタイマーをリセットする。
PlaySound(SOUND_LOW_BEEP);
while(FastTimer(0) <= time3){
} if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
缶をおくところまで時間で指定
PlaySound(SOUND_LOW_BEEP);
Off(OUT_AC);
Wait(100);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
Off(OUT_AC);
OnRev(OUT_B);
OnRev(OUT_AC);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
PlaySound(SOUND_LOW_BEEP);
缶を置いたら再びライントレースでゴールに向かう。
while(true){
} if(SENSOR_1 < BLACK1) {
turn_right2;
} else if (SENSOR_1 < BLACK2) {
turn_right1;
} else if (SENSOR_1 < WHITE1) {
go_fwd;
} else if (SENSOR_1 < WHITE2) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
}
*苦労した点 [#db805d78]
+時間で区切っていたが、時間を測って調整している間に電池残...
丁度いい時間設定が出来なかった。
+缶が軽くてタッチセンサーが上手く反応しなかった。
*感想 [#r61591a1]
グループで時間を合わせられず、大変だった。
課題2では、予定を確認しあい、効率的に作業を進めたい。
ページ名: