2015a/Member/BK/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
課題2目次
#contents
*課題内容 [#if7fa4bd]
#ref(2015a-mission2.png)
上図のコースを走るロボットを完成させ、コース上に置かれて...
自分はB→Aのコースを作成し,球は図の下の球の位置に置いた。
*ロボットの作成 [#o50af334]
#ref(DSC_0001.jpg)
#ref(IMG_1413.jpg)
・ロボットは付属のマニュアルにあるのをそのまま作成し、セ...
・またセンサーの位置を紙とできるだけ近くにすることによっ...
・アームは上図のものをつけた。アームにはモーターを使って...
・アームをできるだけ大きくすることによって、つかめない代...
*プログラムの説明 [#w7bba71a]
・定義
#define BLACK 40 //この値以下は黒
#define WHITE 50 //この値以上は白
#define go_forward OnFwd(OUT_AC); //前進
#define go_back OnRev(OUT_AC); //後退
#define turn_left Off(OUT_A); OnFwd(OUT_C); //右に...
#define turn_right OnFwd(OUT_A); Off(OUT_C); //左に...
#define STEP 1 //一回の判定で進む時間
#define short_break Off(OUT_AC); Wait(400); //休止
#define cross_line go_forward;Wait(20);short_break; /...
#define nMAX 8 //カウンタの最大値を定義
・出発点からQ点まで
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
int nOnline=0 //黒と認識した回数
while (nOnline<nMAX) { //カウンタの最大値に達しない限...
if(SENSOR_2<BLACK) { //黒にさしかかったら
turn_left; } //左に曲がる
nOnline++; //カウンタを増やす
else {
if(SENSOR_2<WHITE) { //境界付近なら
go_forward; } } //前進
else {
if(SENSOR_2>WHITE) { //完全に白と認識したら
{ turn_right; } } //右に曲がる
nOnline=0; //カウンタをリセット
Wait(STEP); }
・Q点の交差点において
int nOnline=0 //黒と認識した回数
while (nOnline<nMAX) { //カウンタの最大値に達しない限...
if(SENSOR_2<BLACK) { //黒にさしかかったら
turn_left; } //左に曲がる
nOnline++; //カウンタを増やす
else {
if(SENSOR_2<WHITE) { //境界付近なら
go_forward; } } //前進
else {
if(SENSOR_2>WHITE){ //完全に白と認識したら
turn_right; //右に曲がる
nOnline=0; } } //カウンタをリセット
Wait(STEP);
short_break; //休止
turn_left;wait(20); //左に方向修正
closs_line; //交差点を渡る
nOnine=0; } //カウンタをリセット
・ゴール地点まで
int nOnline=0 //黒と認識した回数
while (nOnline<nMAX) { //カウンタの最大値に達しない限...
if(SENSOR_2<BLACK) { //黒にさしかかったら
turn_left; //左に曲がる
nOnline++; } //カウンタを増やす
else {
if(SENSOR_2<WHITE) { //境界付近なら
go_forward; } } //前進
else {
if(SENSOR_2>WHITE) { //完全に白と認識したら
turn_right; //右に曲がる
nOnline=0; } } //カウンタをリセット
Wait(STEP);
short_break; //休止
turn_left;wait(20); //左に方向修正
Off(OUT_AC) }
}
*反省点 [#t740ca41]
・今回はプログラムを作る面でかなり苦戦をしたため、ボール...
・プログラムの面では条件節を今回はたくさん使ったため途中...
・次回はタッチセンサーを上手に取り入れて最後まで安定した...
終了行:
課題2目次
#contents
*課題内容 [#if7fa4bd]
#ref(2015a-mission2.png)
上図のコースを走るロボットを完成させ、コース上に置かれて...
自分はB→Aのコースを作成し,球は図の下の球の位置に置いた。
*ロボットの作成 [#o50af334]
#ref(DSC_0001.jpg)
#ref(IMG_1413.jpg)
・ロボットは付属のマニュアルにあるのをそのまま作成し、セ...
・またセンサーの位置を紙とできるだけ近くにすることによっ...
・アームは上図のものをつけた。アームにはモーターを使って...
・アームをできるだけ大きくすることによって、つかめない代...
*プログラムの説明 [#w7bba71a]
・定義
#define BLACK 40 //この値以下は黒
#define WHITE 50 //この値以上は白
#define go_forward OnFwd(OUT_AC); //前進
#define go_back OnRev(OUT_AC); //後退
#define turn_left Off(OUT_A); OnFwd(OUT_C); //右に...
#define turn_right OnFwd(OUT_A); Off(OUT_C); //左に...
#define STEP 1 //一回の判定で進む時間
#define short_break Off(OUT_AC); Wait(400); //休止
#define cross_line go_forward;Wait(20);short_break; /...
#define nMAX 8 //カウンタの最大値を定義
・出発点からQ点まで
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
int nOnline=0 //黒と認識した回数
while (nOnline<nMAX) { //カウンタの最大値に達しない限...
if(SENSOR_2<BLACK) { //黒にさしかかったら
turn_left; } //左に曲がる
nOnline++; //カウンタを増やす
else {
if(SENSOR_2<WHITE) { //境界付近なら
go_forward; } } //前進
else {
if(SENSOR_2>WHITE) { //完全に白と認識したら
{ turn_right; } } //右に曲がる
nOnline=0; //カウンタをリセット
Wait(STEP); }
・Q点の交差点において
int nOnline=0 //黒と認識した回数
while (nOnline<nMAX) { //カウンタの最大値に達しない限...
if(SENSOR_2<BLACK) { //黒にさしかかったら
turn_left; } //左に曲がる
nOnline++; //カウンタを増やす
else {
if(SENSOR_2<WHITE) { //境界付近なら
go_forward; } } //前進
else {
if(SENSOR_2>WHITE){ //完全に白と認識したら
turn_right; //右に曲がる
nOnline=0; } } //カウンタをリセット
Wait(STEP);
short_break; //休止
turn_left;wait(20); //左に方向修正
closs_line; //交差点を渡る
nOnine=0; } //カウンタをリセット
・ゴール地点まで
int nOnline=0 //黒と認識した回数
while (nOnline<nMAX) { //カウンタの最大値に達しない限...
if(SENSOR_2<BLACK) { //黒にさしかかったら
turn_left; //左に曲がる
nOnline++; } //カウンタを増やす
else {
if(SENSOR_2<WHITE) { //境界付近なら
go_forward; } } //前進
else {
if(SENSOR_2>WHITE) { //完全に白と認識したら
turn_right; //右に曲がる
nOnline=0; } } //カウンタをリセット
Wait(STEP);
short_break; //休止
turn_left;wait(20); //左に方向修正
Off(OUT_AC) }
}
*反省点 [#t740ca41]
・今回はプログラムを作る面でかなり苦戦をしたため、ボール...
・プログラムの面では条件節を今回はたくさん使ったため途中...
・次回はタッチセンサーを上手に取り入れて最後まで安定した...
ページ名: