2016a/Member/fujison/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016a/Member]]
*目次 [#jb69539e]
#contents
*課題 [#y6262dae]
今回の課題は、似顔絵を描くロボットの作成。
注意点としては、?A4の紙の中に納まるようにする?ペン以外...
*ロボットの構造 [#se680c41]
L字型の部品に輪ゴムを使用して、ペンを固定した。ペンの上げ...
【ロボット後方】
#ref(./image5.jpg,ロボット後方の写真)
【ロボット側方】
#ref(./image6.jpg,ロボット側方の写真)
*プログラム [#af740487]
【プログラムの定義】
go:前進する back:後退する turn_left:左回転 turn_right:...
repeat(x){a}:{a}をx回繰り返す
(t)のtに数字を代入することで各コマンドの動作時間を指定で...
#define go(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC)
#define turn_left(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);O...
#define turn_right(t) OnRev(OUT_C);OnFwd(OUT_A);Wait(t);...
#define back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC)
#define up OnRev(OUT_B);Wait(7);Off(OUT_B)
#define down OnFwd(OUT_B);Wait(10);Off(OUT_B)
【顔の手順】
?輪郭を描く
最初は各線ごとにプログラムしていたが、repeatで省略するこ...
task main()
{
go(10);
repeat(3){
go(80);
up;
back(120);
turn_left(80);
back(10);
down;}
?目を描く
目は顔の中心から見て、対象になると考え、ここでもrepeatを...
go(105);
up;
back(20);
turn_right(120);
go(70);
repeat(2){
go(10);
down;
go(20);
up;}
back(10);
turn_right(120);
?鼻を描く
目の真ん中に来るように微調整することも大変だったが、今回...
go(160);
down;
Wait(20);
go(10);
up;
?口を描く
口はあまり問題なく、プログラムすることができたが、ロボッ...
go(20);
turn_right(120);
go(130);
down;
go(25);
up;
}
*問題点1 [#nf483377]
ロボット後方についている、ペンを回すためのモーターが、ペ...
対策 タイヤの間に挟むことで固定した。
【対策後の写真】
#ref(./image1.JPG,対策後の写真)
*問題点2 [#h80e2488]
コードの接続不良。
対策 別のコードを使用。ただし、コードが長いため本体の上...
*問題点3 [#qe82591d]
ペンを回す勢いが強く、短い線を描こうとするとペンがはねて...
対策 ペンを下げる動作の後にWaitをプログラムに挟むことで...
*完成図 [#yab3206f]
矢印とその番号はプログラムの「顔の手順」を参照
【完成写真】
#ref(./image8.jpg,完成図)
*感想及び反省 [#e5509d5e]
初めてのプログラミングだったが、少しは慣れることができた...
終了行:
[[2016a/Member]]
*目次 [#jb69539e]
#contents
*課題 [#y6262dae]
今回の課題は、似顔絵を描くロボットの作成。
注意点としては、?A4の紙の中に納まるようにする?ペン以外...
*ロボットの構造 [#se680c41]
L字型の部品に輪ゴムを使用して、ペンを固定した。ペンの上げ...
【ロボット後方】
#ref(./image5.jpg,ロボット後方の写真)
【ロボット側方】
#ref(./image6.jpg,ロボット側方の写真)
*プログラム [#af740487]
【プログラムの定義】
go:前進する back:後退する turn_left:左回転 turn_right:...
repeat(x){a}:{a}をx回繰り返す
(t)のtに数字を代入することで各コマンドの動作時間を指定で...
#define go(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC)
#define turn_left(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);O...
#define turn_right(t) OnRev(OUT_C);OnFwd(OUT_A);Wait(t);...
#define back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC)
#define up OnRev(OUT_B);Wait(7);Off(OUT_B)
#define down OnFwd(OUT_B);Wait(10);Off(OUT_B)
【顔の手順】
?輪郭を描く
最初は各線ごとにプログラムしていたが、repeatで省略するこ...
task main()
{
go(10);
repeat(3){
go(80);
up;
back(120);
turn_left(80);
back(10);
down;}
?目を描く
目は顔の中心から見て、対象になると考え、ここでもrepeatを...
go(105);
up;
back(20);
turn_right(120);
go(70);
repeat(2){
go(10);
down;
go(20);
up;}
back(10);
turn_right(120);
?鼻を描く
目の真ん中に来るように微調整することも大変だったが、今回...
go(160);
down;
Wait(20);
go(10);
up;
?口を描く
口はあまり問題なく、プログラムすることができたが、ロボッ...
go(20);
turn_right(120);
go(130);
down;
go(25);
up;
}
*問題点1 [#nf483377]
ロボット後方についている、ペンを回すためのモーターが、ペ...
対策 タイヤの間に挟むことで固定した。
【対策後の写真】
#ref(./image1.JPG,対策後の写真)
*問題点2 [#h80e2488]
コードの接続不良。
対策 別のコードを使用。ただし、コードが長いため本体の上...
*問題点3 [#qe82591d]
ペンを回す勢いが強く、短い線を描こうとするとペンがはねて...
対策 ペンを下げる動作の後にWaitをプログラムに挟むことで...
*完成図 [#yab3206f]
矢印とその番号はプログラムの「顔の手順」を参照
【完成写真】
#ref(./image8.jpg,完成図)
*感想及び反省 [#e5509d5e]
初めてのプログラミングだったが、少しは慣れることができた...
ページ名: