- 追加された行はこの色です。
- 削除された行はこの色です。
#contents
*課題1:似顔絵ロボットの作成 [#u7ac9691]
ペアになった相手の似顔絵を書くプログラムを作る。
**メンバー紹介 [#t22ae3b2]
N ロボット担当 頼りになります!
小次郎 ロボット担当 頼りになります!
S ホムペ担当 ロボットには全く関与せず・・・せめてホムペくらいは作れるかと・・・
コリン ホムペ担当 ロボットには全く関与せず・・・せめてホムペくらいは作れるかと・・・
プログラムは二人で考えて、Sが書き込む感じ。仲良く協力してやってます!
**使用するロボットについて [#cf08e12a]
ローラーを使ったロボット。
ペンを持つ部分は、B出力のモータを利用。
どこかにある機動兵器みたいです!
どこかにある機動兵器みたいです!ごついです。
*プログラムについて [#c066720d]
**その1 (Nの似顔絵)[#z954d1aa]
**その1 (小次郎の似顔絵)[#z954d1aa]
void go(int t) // 前に進む動作を go と設定
{
OnFwd(OUT_A+OUT_C); // AとC出力のモータを正回転させる
Wait(t); // t秒間実行
Off(OUT_A+OUT_C); // AとC出力のモータを止める
}
void back(int t) // 後ろに下がる動作を back と設定
{
OnRev(OUT_A+OUT_C); // AとC出力のモータを負回転させる
Wait(t); // t秒間実行
Off(OUT_A+OUT_C); // AとC出力のモータを止める
}
void go_right(int t) // 右に曲がる動作を go_right と設定
{
OnFwd(OUT_A); // A出力のモータを正回転させる
Wait(t); // t秒間実行
Off(OUT_A); // A出力のモータを止める
}
void back_left(int t) // 左に下がる動作を back_left と設定
{
OnRev(OUT_C); // C出力のモータを負回転させる
Wait(t); // t秒間実行
Off(OUT_C); // C出力のモータを止める
}
void turn_left(int t) // 反時計回りに回転する動作を turn_left と設定
{
OnFwd(OUT_C); // C出力のモータを正回転させる
OnRev(OUT_A); // A出力のモータを負回転させる
Wait(t); // t秒間実行
Off(OUT_A+OUT_C); // AとC出力のモータをとめる
}
void turn_right(int t) // 時計回りに回転する動作を turn_right と設定
{
OnFwd(OUT_A); // A出力のモータを正回転させる
OnRev(OUT_C); // C出力のモータを負回転させる
Wait(t); // t秒間実行
Off(OUT_A+OUT_C); // AとC出力のモータをとめる
}
void pen_sage(int t) //ペンを下げる動作を pen_sage と設定
{
OnFwd(OUT_B); //B出力のモータを正回転させる
Wait(t); //t秒間実行
Off(OUT_B); //B出力のモータをとめる
}
void pen_age(int t) //ペンを上げる動作を pen_age と設定
{
OnRev(OUT_B); //B出力のモータを負回転させる
Wait(t); //t秒間実行
Off(OUT_B); //B出力のモータをとめる
}
↓上記で定義した関数を用いてロボットの動きを作る。
task main()
{
pen_sage(150); //ペンを下げる。
go(140); //まずは向かって右側の輪郭の線から書き始める。
go_right(180); //あごの部分を書く。すこし丸く。
pen_age(200);
go_right(310);
back_left(170);
back(120); //ペンを上げて向きを変える。
pen_sage(150); //ペンを下げる。
go(210); //まっすぐ進む。向かって左側の輪郭を書く。
go_right(270);
pen_age(200);
go_right(250);
back_left(300);
back(70);
pen_sage(150);
go(50);
pen_age(200);
go(150);
back_left(380);
back(50);
pen_sage(150);
go(120); //頭&髪を書く。
pen_age(200);
go(200);
turn_left(160);
go(100);
turn_left(160); //目をかくために方向を変えて移動。
pen_sage(150);
go(30);
pen_age(200);
go(25);
pen_sage(150);
go(30); //目を書く。
}
**その2(Sの似顔絵) [#u74c7137]
**その2(コリンの似顔絵) [#u74c7137]
**制作してみての感想 [#y9cee856]
電池の消耗が早く、プログラムを作って実行するたびに結果が違うので、微調整ができず、とても苦労しました。
二人で協力して作ったので、プログラムだけでなく信頼感も生まれた!!はず!!
その2はその1をベースにして作る予定・・・。(まだ、その1が途中です。え、提出は今日までですか!?)
その2はその1をベースにして作る予定・・・。(まだ、その1が途中です。)