2019a/Member/reifur/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
#contents
*課題1の説明 [#i8e066bc]
**内容 [#cadfaad7]
これまで住んだことのある都道府県名、市町村名、地区名など...
**選んだ文字 [#u73016f2]
なるべく曲線をなくしたいので曲線が比較的少なそうな「信州...
**書く方法 [#ec94d47b]
XY座標で書く方法も考えたがやり方がわからず断念。ので、普...
*ロボット [#ff7a23a9]
**ロボットの機構 [#le15e07e]
といっても作り自体は簡単で、左のタイヤ、右のタイヤ、ペン...
**ロボットの見た目 [#ea3948d8]
&size(24){上};
#ref(2019a/Member/reifur/Mission1/robot_zentai.jpg,30%,全...
&size(24){前};
#ref(2019a/Member/reifur/Mission1/robot_mae.jpg,30%,前)
&size(24){横};
#ref(2019a/Member/reifur/Mission1/robot_migi.jpg,36.5%,右)
&size(24){後ろ};
#ref(2019a/Member/reifur/Mission1/robot_usiro.jpg,30%,後ろ)
&size(24){裏};
#ref(2019a/Member/reifur/Mission1/robot_ura.jpg,30%,裏)
**ロボットの詳しい説明 [#g3a7aa7d]
写真を見てもらうとわかるかもしれませんが基本的には組み立...
&br;最初はタイヤの間にペンを入れればその場で回転してもペ...
まず最初に下図のように作りました。
#ref(2019a/Member/reifur/Mission1/robot_zu1.jpg,30%,図1);
青色がロボット本体、黒い丸がタイヤ、赤がペンを持つ腕、黒...
#ref(2019a/Member/reifur/Mission1/robot_zu2.jpg,30%,図2);
黄色の部分に部品にあったゴム付けました。しかし結果はあま...
#ref(2019a/Member/reifur/Mission1/robot_zu3.jpg,30%,図3);
緑の部分に棒を付けました。はい、それだけです。しかしこれ...
&br;動いているのを観察しているとどうやら後ろにバックする...
#ref(2019a/Member/reifur/Mission1/robot_zu4.jpg,30%,図4);
つまりペンが後ろに行こうとするのをつっかえ棒のようなもの...
*プログラミング [#j73c907d]
最初に必要そうだと思ったプログラムは前に進む、左に曲がる...
**左右に曲がるプログラム [#q246502f]
やってみて難しかったのが左右に曲がるプログラム。考えてみ...
**文字の書き順 [#p88b64ec]
本来の書き順通りに書いた方が見栄え的には良さそうなのだが...
#ref(2019a/Member/reifur/Mission1/robot_zu5.jpg,30%,図5);
で、実際の書き順は下図のようにした。
#ref(2019a/Member/reifur/Mission1/robot_zu6_3.jpg,40%,図6);
赤青赤青の順番で書いていくことに。
*実際のプログラム [#y0135a2c]
**モジュールのインポート、インスタンスの作成 [#g25e2eed]
#!/usr/bin/env python3
from ev3dev.ev3 import*
from time import sleep
l = LargeMotor('outD') leftのl。左のタイヤ。
r = LargeMotor('outA') rightのr。右のタイヤ。
a = MediumMotor('outB') armのa。かと思ったが適当に...
i = 1000 何かに使えるかもと設定した。
**関数 [#l3573a39]
リセット
def motor_init():
l.reset()
r.reset()
a.reset()
前に進む関数
def move_forward(t):
l.run_timed(time_sp=t, speed_sp=150, stop_action='ho...
r.run_timed(time_sp=t, speed_sp=150, stop_action='ho...
sleep(t/1000)
その場で90度左に回る関数
def move_l(t):
l.run_timed(time_sp=t, speed_sp=-210, stop_action='h...
r.run_timed(time_sp=t, speed_sp=210, stop_action='ho...
sleep(t/1000)
その場で90度右に回る関数
def move_r(t):
r.run_timed(time_sp=t, speed_sp=-210, stop_action='h...
l.run_timed(time_sp=t, speed_sp=210, stop_action='ho...
sleep(t/1000)
バックする関数
def move_back(t):
l.run_timed(time_sp=t, speed_sp=-150, stop_action='h...
r.run_timed(time_sp=t, speed_sp=-150, stop_action='h...
sleep(t/1000)
ペンを上げる関数
def move_up():
a.run_timed(time_sp=1000, speed_sp=-60, stop_action=...
sleep(1)
ペンを下げる関数
def move_down():
a.run_timed(time_sp=1000, speed_sp=60, stop_action='...
sleep(1)
ペンの位置を変えずに左に90度回る関数
def move_left():
move_forward(650)
move_l(i)
move_back(660)
ペンの位置を変えずに右に90度回る関数
def move_right():
move_forward(650)
move_r(i)
move_back(640)
**文字のプログラム [#g8c4cb24]
ここから一画目、二画目という場合は本来のものではなく今回...
リセット
motor_init()
***信 [#td3b05fc]
一画目
move_down()
move_forward(i)
move_up()
二画目
move_forward(750)
move_r(500)
move_back(400) ここで二画目の最初の位置に着く。
move_down()
move_back(600)
move_up()
二画目を書いている途中でただ回るとペンの位置がずれること...
三角目
move_l(500)
move_forward(300)
move_right()
move_forward(1200) ここで三画目の最初の位置に着く。
move_down()
move_forward(200)
move_up()
四画目
move_right()
move_forward(300)
move_right()
move_back(300) ここで四画目の最初の位置に。
move_down()
move_forward(600)
move_up()
五画目
move_left()
move_forward(250)
move_left()
move_forward(150) 五画目の最初の位置。
move_down()
move_forward(400)
move_up()
六画目
move_right()
move_forward(200)
move_right() 六画目の最初。
move_down()
move_forward(400)
move_up()
ここから「信」の口の部分を書く
七画目
move_forward(100)
move_left()
move_forward(200) 七画目の最初。
move_down()
move_forward(320)
move_up()
八画目
move_left()
move_down()
move_forward(480)
move_up()
九画目
move_left()
move_down()
move_forward(320)
move_up()
十画目
move_left()
move_down()
move_forward(480)
move_up()
***州 [#c76637e8]
ここで大変残念なお知らせです。「州」のプログラムをコピー...
十一画目
move_forward(200)
move_down()
move_forward(100)
move_up()
十二画目に移る
move_forward(200)
move_right()
move_forward(100)
move_right()
十二画目
move_down()
move_forward(500)
move_up()
十三画目に移る
move_left()
move_forward(100)
move_left()
十三画目
move_forward(200)
move_down()
move_forward(100)
move_up()
十四画目に移る
move_forward(200)
move_right()
move_forward(100)
move_right()
move_down()
move_forward(500)
move_up()
十五画目に移る
move_left()
move_forward(100)
move_left()
move_forward(200)
十五画目
move_down()
move_forward(100)
move_up()
十六画目に移る
move_forward(200)
move_right()
move_forward(100)
move_right()
move_forward(500)
これでだいたいあっていると思いますが数値などが間違ってい...
*実際に書いたもの [#g0c32122]
#ref(2019a/Member/reifur/Mission1/sinsyu_ji.jpg,30%,信州);
なお、「信」から「州」に移る部分のプログラムを上では書い...
*改善点と反省点 [#w870bac1]
改善点としてはプログラムの数値をいじる、2つのタイヤとペ...
&br;反省点としてはプログラムをコピーしたかしっかり確認す...
終了行:
[[2019a/Member]]
#contents
*課題1の説明 [#i8e066bc]
**内容 [#cadfaad7]
これまで住んだことのある都道府県名、市町村名、地区名など...
**選んだ文字 [#u73016f2]
なるべく曲線をなくしたいので曲線が比較的少なそうな「信州...
**書く方法 [#ec94d47b]
XY座標で書く方法も考えたがやり方がわからず断念。ので、普...
*ロボット [#ff7a23a9]
**ロボットの機構 [#le15e07e]
といっても作り自体は簡単で、左のタイヤ、右のタイヤ、ペン...
**ロボットの見た目 [#ea3948d8]
&size(24){上};
#ref(2019a/Member/reifur/Mission1/robot_zentai.jpg,30%,全...
&size(24){前};
#ref(2019a/Member/reifur/Mission1/robot_mae.jpg,30%,前)
&size(24){横};
#ref(2019a/Member/reifur/Mission1/robot_migi.jpg,36.5%,右)
&size(24){後ろ};
#ref(2019a/Member/reifur/Mission1/robot_usiro.jpg,30%,後ろ)
&size(24){裏};
#ref(2019a/Member/reifur/Mission1/robot_ura.jpg,30%,裏)
**ロボットの詳しい説明 [#g3a7aa7d]
写真を見てもらうとわかるかもしれませんが基本的には組み立...
&br;最初はタイヤの間にペンを入れればその場で回転してもペ...
まず最初に下図のように作りました。
#ref(2019a/Member/reifur/Mission1/robot_zu1.jpg,30%,図1);
青色がロボット本体、黒い丸がタイヤ、赤がペンを持つ腕、黒...
#ref(2019a/Member/reifur/Mission1/robot_zu2.jpg,30%,図2);
黄色の部分に部品にあったゴム付けました。しかし結果はあま...
#ref(2019a/Member/reifur/Mission1/robot_zu3.jpg,30%,図3);
緑の部分に棒を付けました。はい、それだけです。しかしこれ...
&br;動いているのを観察しているとどうやら後ろにバックする...
#ref(2019a/Member/reifur/Mission1/robot_zu4.jpg,30%,図4);
つまりペンが後ろに行こうとするのをつっかえ棒のようなもの...
*プログラミング [#j73c907d]
最初に必要そうだと思ったプログラムは前に進む、左に曲がる...
**左右に曲がるプログラム [#q246502f]
やってみて難しかったのが左右に曲がるプログラム。考えてみ...
**文字の書き順 [#p88b64ec]
本来の書き順通りに書いた方が見栄え的には良さそうなのだが...
#ref(2019a/Member/reifur/Mission1/robot_zu5.jpg,30%,図5);
で、実際の書き順は下図のようにした。
#ref(2019a/Member/reifur/Mission1/robot_zu6_3.jpg,40%,図6);
赤青赤青の順番で書いていくことに。
*実際のプログラム [#y0135a2c]
**モジュールのインポート、インスタンスの作成 [#g25e2eed]
#!/usr/bin/env python3
from ev3dev.ev3 import*
from time import sleep
l = LargeMotor('outD') leftのl。左のタイヤ。
r = LargeMotor('outA') rightのr。右のタイヤ。
a = MediumMotor('outB') armのa。かと思ったが適当に...
i = 1000 何かに使えるかもと設定した。
**関数 [#l3573a39]
リセット
def motor_init():
l.reset()
r.reset()
a.reset()
前に進む関数
def move_forward(t):
l.run_timed(time_sp=t, speed_sp=150, stop_action='ho...
r.run_timed(time_sp=t, speed_sp=150, stop_action='ho...
sleep(t/1000)
その場で90度左に回る関数
def move_l(t):
l.run_timed(time_sp=t, speed_sp=-210, stop_action='h...
r.run_timed(time_sp=t, speed_sp=210, stop_action='ho...
sleep(t/1000)
その場で90度右に回る関数
def move_r(t):
r.run_timed(time_sp=t, speed_sp=-210, stop_action='h...
l.run_timed(time_sp=t, speed_sp=210, stop_action='ho...
sleep(t/1000)
バックする関数
def move_back(t):
l.run_timed(time_sp=t, speed_sp=-150, stop_action='h...
r.run_timed(time_sp=t, speed_sp=-150, stop_action='h...
sleep(t/1000)
ペンを上げる関数
def move_up():
a.run_timed(time_sp=1000, speed_sp=-60, stop_action=...
sleep(1)
ペンを下げる関数
def move_down():
a.run_timed(time_sp=1000, speed_sp=60, stop_action='...
sleep(1)
ペンの位置を変えずに左に90度回る関数
def move_left():
move_forward(650)
move_l(i)
move_back(660)
ペンの位置を変えずに右に90度回る関数
def move_right():
move_forward(650)
move_r(i)
move_back(640)
**文字のプログラム [#g8c4cb24]
ここから一画目、二画目という場合は本来のものではなく今回...
リセット
motor_init()
***信 [#td3b05fc]
一画目
move_down()
move_forward(i)
move_up()
二画目
move_forward(750)
move_r(500)
move_back(400) ここで二画目の最初の位置に着く。
move_down()
move_back(600)
move_up()
二画目を書いている途中でただ回るとペンの位置がずれること...
三角目
move_l(500)
move_forward(300)
move_right()
move_forward(1200) ここで三画目の最初の位置に着く。
move_down()
move_forward(200)
move_up()
四画目
move_right()
move_forward(300)
move_right()
move_back(300) ここで四画目の最初の位置に。
move_down()
move_forward(600)
move_up()
五画目
move_left()
move_forward(250)
move_left()
move_forward(150) 五画目の最初の位置。
move_down()
move_forward(400)
move_up()
六画目
move_right()
move_forward(200)
move_right() 六画目の最初。
move_down()
move_forward(400)
move_up()
ここから「信」の口の部分を書く
七画目
move_forward(100)
move_left()
move_forward(200) 七画目の最初。
move_down()
move_forward(320)
move_up()
八画目
move_left()
move_down()
move_forward(480)
move_up()
九画目
move_left()
move_down()
move_forward(320)
move_up()
十画目
move_left()
move_down()
move_forward(480)
move_up()
***州 [#c76637e8]
ここで大変残念なお知らせです。「州」のプログラムをコピー...
十一画目
move_forward(200)
move_down()
move_forward(100)
move_up()
十二画目に移る
move_forward(200)
move_right()
move_forward(100)
move_right()
十二画目
move_down()
move_forward(500)
move_up()
十三画目に移る
move_left()
move_forward(100)
move_left()
十三画目
move_forward(200)
move_down()
move_forward(100)
move_up()
十四画目に移る
move_forward(200)
move_right()
move_forward(100)
move_right()
move_down()
move_forward(500)
move_up()
十五画目に移る
move_left()
move_forward(100)
move_left()
move_forward(200)
十五画目
move_down()
move_forward(100)
move_up()
十六画目に移る
move_forward(200)
move_right()
move_forward(100)
move_right()
move_forward(500)
これでだいたいあっていると思いますが数値などが間違ってい...
*実際に書いたもの [#g0c32122]
#ref(2019a/Member/reifur/Mission1/sinsyu_ji.jpg,30%,信州);
なお、「信」から「州」に移る部分のプログラムを上では書い...
*改善点と反省点 [#w870bac1]
改善点としてはプログラムの数値をいじる、2つのタイヤとペ...
&br;反省点としてはプログラムをコピーしたかしっかり確認す...
ページ名: