2016a/Member/hareruya/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016a/Member]]
#contents
*2016年課題2 [#ie6e0909]
下の図のようなコースを各チームで作成し、「ミッション」を...
#ref(2016a/Member/hareruya/Mission2/IMG_7779.png,80%,コー...
コースは支給された紙にマジックペンで幅約1センチのラインを...
**ミッション [#b4f05d28]
次のいずれかの経路を黒い線にそって動くロボットを作成する ...
A地点からB地点へ (1人目)
A地点 → P直進 → Q直進 → Q直進 → R左折 → B地点
B地点からC地点へ (2人目)
B地点 → R右折 → Q直進 → Q直進 →P右折 → S右折 → C地点
C地点からA地点へ (3人目)
C地点 → S左折 → P左折 → Q直進 → Q直進 → R右折 → P左折...
また、私は3人目に該当するのでC地点からA地点へ進むプログラ...
*ロボットの解説 [#yf896001]
土台のRISのロボットは課題1と同じようにあまり改造せずにそ...
下の写真はロボットを斜め前から撮影したものである。前面に...
#ref(2016a/Member/hareruya/Mission2/IMG_7777.jpg,15%,ロボ...
下の写真はロボットを真上から撮影したものである。光センサ...
#ref(2016a/Member/hareruya/Mission2/IMG_7778.jpg,15%,ロボ...
*プログラム [#e99cbb4b]
定義などの課題1で使っていたもので再使用するものは、以前使...
**定義 [#j4b1bc1a]
#define BLACK 41
#define WHITE 50
#define RIGHT_H OnFwd(OUT_A); OnRev(OUT_C);//右旋回
#define RIGHT_L OnFwd(OUT_A); Off(OUT_C);//右回転
#define LEFT_H OnFwd(OUT_C); OnRev(OUT_A);//左旋回
#define LEFT_L OnFwd(OUT_C); Off(OUT_A);//左回転
#define GO_FORWARD(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC);
#define STEP 1
**ライントレースのサブルーチン [#b2a4010a]
交差点で止まった時に音が鳴るようにしました。交差点の判別...
sub LINE()
{
ClearTimer(0);//タイマの初期化
while(FastTimer(0) <= 50) //括弧の中はタイマーが一定の...
{
if (SENSOR_2 <= BLACK) {//括弧内が満たされれば次の...
RIGHT_H;
}
else
if (SENSOR_2 < BLACK){
RIGHT_L;
} else if (SENSOR_2 < WHITE) {
LEFT_L;
ClearTimer(0);
} else if (SENSOR_2 >= WHITE) {
LEFT_H;
ClearTimer(0);
} else {
OnFwd(OUT_AC);
ClearTimer(0);
}
Wait(STEP);
}
Off(OUT_AC);
ClearTimer(0);
PlaySound(SOUND_UP);
Wait(100);//1秒間音が鳴る
}
**右折のサブルーチン [#h2f74bda]
右に1秒曲がる
sub CROSS_RIGHT()
{
while(FastTimer(0) < 100) {
RIGHT_L;
}
ClearTimer(0);
}
**左折のサブルーチン [#p6b1161b]
左に1.6秒間曲がる
sub CROSS_LEFT()
{
while(FastTimer(0) < 160) {
LEFT_L;
}
ClearTimer(0);
}
**C地点からA地点へ進むプログラム [#l03815ed]
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
GO_FORWARD(120);
LINE();
CROSS_LEFT();
LINE();
CROSS_LEFT();
LINE();
GO_FORWARD(50);
LINE();
CROSS_LEFT();
LINE();
GO_FORWARD(50);
LINE();
CROSS_RIGHT();
LINE();
CROSS_LEFT();
LINE();
CROSS_RIGHT();
LINE();
CROSS_RIGHT();
LINE();
CROSS_LEFT();
LINE();
CROSS_RIGHT();
LINE();
CROSS_LEFT();
LINE();
GO_FORWARD(120);
}
*結果 [#r04452e7]
プログラムが思うように組めなくて、カーブを曲がり交差点ま...
*感想[#m5187625]
新しく教えられたプログラムの全ての意味をしっかり理解出来...
*反省点 [#m19beecc]
もっと、友達或いは先生に質問して、初期の段階で疑問は出来...
終了行:
[[2016a/Member]]
#contents
*2016年課題2 [#ie6e0909]
下の図のようなコースを各チームで作成し、「ミッション」を...
#ref(2016a/Member/hareruya/Mission2/IMG_7779.png,80%,コー...
コースは支給された紙にマジックペンで幅約1センチのラインを...
**ミッション [#b4f05d28]
次のいずれかの経路を黒い線にそって動くロボットを作成する ...
A地点からB地点へ (1人目)
A地点 → P直進 → Q直進 → Q直進 → R左折 → B地点
B地点からC地点へ (2人目)
B地点 → R右折 → Q直進 → Q直進 →P右折 → S右折 → C地点
C地点からA地点へ (3人目)
C地点 → S左折 → P左折 → Q直進 → Q直進 → R右折 → P左折...
また、私は3人目に該当するのでC地点からA地点へ進むプログラ...
*ロボットの解説 [#yf896001]
土台のRISのロボットは課題1と同じようにあまり改造せずにそ...
下の写真はロボットを斜め前から撮影したものである。前面に...
#ref(2016a/Member/hareruya/Mission2/IMG_7777.jpg,15%,ロボ...
下の写真はロボットを真上から撮影したものである。光センサ...
#ref(2016a/Member/hareruya/Mission2/IMG_7778.jpg,15%,ロボ...
*プログラム [#e99cbb4b]
定義などの課題1で使っていたもので再使用するものは、以前使...
**定義 [#j4b1bc1a]
#define BLACK 41
#define WHITE 50
#define RIGHT_H OnFwd(OUT_A); OnRev(OUT_C);//右旋回
#define RIGHT_L OnFwd(OUT_A); Off(OUT_C);//右回転
#define LEFT_H OnFwd(OUT_C); OnRev(OUT_A);//左旋回
#define LEFT_L OnFwd(OUT_C); Off(OUT_A);//左回転
#define GO_FORWARD(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC);
#define STEP 1
**ライントレースのサブルーチン [#b2a4010a]
交差点で止まった時に音が鳴るようにしました。交差点の判別...
sub LINE()
{
ClearTimer(0);//タイマの初期化
while(FastTimer(0) <= 50) //括弧の中はタイマーが一定の...
{
if (SENSOR_2 <= BLACK) {//括弧内が満たされれば次の...
RIGHT_H;
}
else
if (SENSOR_2 < BLACK){
RIGHT_L;
} else if (SENSOR_2 < WHITE) {
LEFT_L;
ClearTimer(0);
} else if (SENSOR_2 >= WHITE) {
LEFT_H;
ClearTimer(0);
} else {
OnFwd(OUT_AC);
ClearTimer(0);
}
Wait(STEP);
}
Off(OUT_AC);
ClearTimer(0);
PlaySound(SOUND_UP);
Wait(100);//1秒間音が鳴る
}
**右折のサブルーチン [#h2f74bda]
右に1秒曲がる
sub CROSS_RIGHT()
{
while(FastTimer(0) < 100) {
RIGHT_L;
}
ClearTimer(0);
}
**左折のサブルーチン [#p6b1161b]
左に1.6秒間曲がる
sub CROSS_LEFT()
{
while(FastTimer(0) < 160) {
LEFT_L;
}
ClearTimer(0);
}
**C地点からA地点へ進むプログラム [#l03815ed]
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
GO_FORWARD(120);
LINE();
CROSS_LEFT();
LINE();
CROSS_LEFT();
LINE();
GO_FORWARD(50);
LINE();
CROSS_LEFT();
LINE();
GO_FORWARD(50);
LINE();
CROSS_RIGHT();
LINE();
CROSS_LEFT();
LINE();
CROSS_RIGHT();
LINE();
CROSS_RIGHT();
LINE();
CROSS_LEFT();
LINE();
CROSS_RIGHT();
LINE();
CROSS_LEFT();
LINE();
GO_FORWARD(120);
}
*結果 [#r04452e7]
プログラムが思うように組めなくて、カーブを曲がり交差点ま...
*感想[#m5187625]
新しく教えられたプログラムの全ての意味をしっかり理解出来...
*反省点 [#m19beecc]
もっと、友達或いは先生に質問して、初期の段階で疑問は出来...
ページ名: