*みんなの製作日記 [#aee1197c] **5月19日 製作日記 [#u16287c7] はじめはモーターに直接アームを付け、モーターの回転により接地させようとする。モーターの出力自体を変え、上手く書けるようにはしたものの、本体回転時に線がぶれてしまい、プログラミングを複雑にしなければならず断念。5月17日に再び本体を壊して、1から作り直した。 ペンを持たせるのに、ゴムを使うのは普通すぎると思い、二つのタイヤで挟むことで対応。 #ref(./070520_1342~02.JPG,100%,ok) 本体回転時に接地部がずれないように、タイヤの中心部にペンがくるように製作。その際、最初に作った、説明書通りの土台では、タイヤの中心にペンを持ってくることができなかったので、可動タイヤは二つにして中央が開くように設計。そして今回はアームの回旋ではなく、ギアを使うことによりペンを上下させた。 #ref(./TS2D0017.JPG,75%,gia) #ref(./TS2D0019.JPG,75%,こんどーさん製作中) 次の課題が、前輪をどうするか。タイヤの中心をあけるために、独自の土台を作ったため、前輪後輪ともにギアにつなぐ動かすことは不可能。そこで杉さんの提案により、補助輪を使うことに決定。そして、出力装置をどこに置くか。はじめは、後ろにおくイメージで作っていたのだが、前におくことを思いつく。そして、出力本体と対や部分をつなぎ、余ったパーツで強度を上げて完成!! #ref(./070520_1342~01.JPG,150%,SIPPAI) *プログラミング [#h7b2ea42] **<中> [#x3de81b4] #define tyokkaku 138 #define usiromuki 220 #define donnkaku 200 #define go 80 #define gogo 250 #define updown 10 void mizikai() { OnFwd(OUT_A+OUT_C);Wait(go); Off(OUT_A+OUT_C); } void nagai() { OnFwd(OUT_A+OUT_C);Wait(gogo); Off(OUT_A+OUT_C); } void kyuuzyuudo() { OnFwd(OUT_C);Wait(tyokkaku); Off(OUT_A); } void hyakuhatizyuu() { OnFwd(OUT_C);Wait(usiromuki); Off(OUT_A); } void penup() { OnFwd(OUT_B);Wait(updown); Off(OUT_B); } void pendown() { OnRev(OUT_B);Wait(updown); Off(OUT_B); } void donkaku() { OnFwd(OUT_C);Wait(190); Off(OUT_C); } void owari() { OnFwd(OUT_A+OUT_C);Wait(350); Float(OUT_A+OUT_C); } task main() { pendown(); mizikai(); penup(); hyakuhatizyuu(); mizikai(); kyuuzyuudo(); pendown(); nagai(); penup(); kyuuzyuudo(); pendown(); mizikai(); penup(); kyuuzyuudo(); pendown(); nagai(); penup(); hyakuhatizyuu(); nagai(); donkaku(); nagai(); donkaku(); pendown(); owari(); penup(); } **<白> [#q699413c] void arm_return() { SetPower(OUT_B,3); OnRev(OUT_B); Wait(100); Float(OUT_B); } void arm_go() { SetPower(OUT_B,3); OnFwd(OUT_B); Wait(100); Float(OUT_B); } task main () { OnFwd(OUT_A+OUT_C); Wait(100); Float(OUT_A+OUT_C); arm_return(); OnFwd(OUT_A); Wait(50); Float(OUT_A); arm_go(); OnFwd(OUT_A+OUT_C); Wait(200); Float(OUT_A+OUT_C); arm_return(); OnRev(OUT_A+OUT_C); Wait(200); Float(OUT_A+OUT_C); OnFwd(OUT_A); Wait(70); Float(OUT_A); arm_go(); OnFwd(OUT_A+OUT_B); Wait(150); Float(OUT_A+OUT_B); OnFwd(OUT_A); Wait(70); OnFwd(OUT_A+OUT_C); Wait(200); Float(OUT_A+OUT_C); arm_return(); OnRev(OUT_A+OUT_C); Wait(100); OnRev(OUT_C); Wait(70); OnRev(OUT_A+OUT_C); Wait(100); Float(OUT_A+OUT_C); arm_go(); OnFwd(OUT_A+OUT_C); Wait(100); Float(OUT_A+OUT_C); arm_return(); OnRev(OUT_A+OUT_C); Wait(100); OnRev(OUT_A); Wait(70); OnFwd(OUT_A+OUT_C); Wait(100); Float(OUT_A+OUT_C); OnFwd(OUT_A); Wait(70); Float(OUT_A); arm_go(); OnFwd(OUT_A+OUT_C); Wait(100); Float(OUT_A+OUT_C); } **<北> [#ma0fee04] task main() { OnFwd(OUT_A+OUT_C); Wait(150); OnRev(OUT_C); Wait(76); OnFwd(OUT_A+OUT_C); Wait(150); OnRev(OUT_A+OUT_C); Wait(250); OnFwd(OUT_A); Wait(80); OnFwd(OUT_A+OUT_C); Wait(150); OnRev(OUT_A+OUT_C); Wait(150); OnFwd(OUT_C); Wait(80); OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_A); Wait(76); OnFwd(OUT_A+OUT_C); Wait(250); OnRev(OUT_A+OUT_C); Wait(150); OnFwd(OUT_A); Wait(76); OnFwd(OUT_A+OUT_C); Wait(150); OnRev(OUT_A+OUT_C); Wait(250); OnFwd(OUT_C); Wait(76); OnFwd(OUT_A+OUT_C); Wait(150); Off(OUT_A+OUT_C); } *工夫点 [#v05cf4dd] ペンを固定するのにゴムという裏技を使わずに、タイヤで固定しました。 あと、本体の方には補助輪をつけて対応しました。 *苦労点 [#va893e4b] ペンをどこに置くか試行錯誤の連続で、最終的に後輪の中心に置くことに落ち着きました。 あと、ペンの上げ下げもどのようにさせるか悩みました。 *感想 [#uf178fcb] ・僕たちはこれを作るのに25時間ほど費やしました。にも関わらず、なかなか完成させることができず何度も何度もロボットを作り直しました。ロボットを作っていく中で、ロボットをひとまず完成させて、実際に動かしてみたら思っていたような動きをとってくれなかったりということもあって、投げ出したくもなりましたが、最後まであきらめずにがんばりました。 コメントをどうぞ -お疲れ様でした。プログラムの解説を入れるとさらによいでしょう。「製作日記」に若干誤字あり。 -- [[ヒロヤ]] &new{2007-05-24 (木) 01:24:55}; #comment