[[2006a/A1]] #contents *『水』を書くプログラム [#ec699d27] // 作成者:増田 // 作成日:2006-5-23 // マシーン:ミズキ #define back(t) OnFwd(OUT_C);Wait(t);Off(OUT_C); #define front(t) OnRev(OUT_C);Wait(t);Off(OUT_C); #define up OnFwd(OUT_A);Wait(30);Off(OUT_A); #define down OnRev(OUT_A);Wait(30);Off(OUT_A); #define left(t) OnFwd(OUT_B);Wait(t);Off(OUT_B); #define right(t) OnRev(OUT_B);Wait(t);Off(OUT_B); task main() { down;back(60);Wait(50); //1画目 OnRev(OUT_C);OnFwd(OUT_B);Wait(10);Off(OUT_C+OUT_B); //ハネ up;left(30);front(35);Wait(100); //2画目に移動 down;Wait(50);right(30);Wait(50); //2画目(横) OnFwd(OUT_C);OnFwd(OUT_B);Wait(30);Off(OUT_C+OUT_B); //2画目(はらい) up;right(80);front(50);Wait(100); //3画目に移動 down;Wait(50); //3画目 OnFwd(OUT_C);OnFwd(OUT_B);Wait(30);Off(OUT_C+OUT_B);Wait(50); OnFwd(OUT_C);OnRev(OUT_B);Wait(30);Off(OUT_C+OUT_B);up; //3画目(はらい) } *プログラムの構想と説明 [#t2c053f1] 当初の考えは車体が字の通りに動くマシーンを考えていたが、TAのマシーンを見て感激し自分たちにも作れないかとはじめたのがこのマシーンです。 -構想・・・ 『水』という字はいわゆる八方位の中でかけることに気がづき、縦と横の動きを同時にすれば斜めがかけると予想して、車体は前後に、それと横にスライドするシステムを作ることを考えた。 &ref(2006a/A1/課題1左/無題.bmp,50%,完成イメージ); -説明・・・プログラムを出来るだけ短くするためにマクロを用いた。 車体の前後 +スライドシステムの左右の動き +アームの上下 この三つを使ったおかげでかなり見た目には簡単なプログラムが出来た。ただ、斜めの移動のマクロがうまく作れなかった。 *『水』をかくプログラム 改訂版 [#k3215356] // 作成者:増田 // 作成日:2006-5-23 // マシーン:ミズキ #define back(t) OnFwd(OUT_C);Wait(t);Off(OUT_C); #define front(t) OnRev(OUT_C);Wait(t);Off(OUT_C); #define up OnFwd(OUT_A);Wait(30);Off(OUT_A); #define down OnRev(OUT_A);Wait(30);Off(OUT_A); #define left(t) OnFwd(OUT_B);Wait(t);Off(OUT_B); #define right(t) OnRev(OUT_B);Wait(t);Off(OUT_B); #define move1(t) OnFwd(OUT_C);OnFwd(OUT_B);Wait(t);Off(OUT_C+OUT_B); #define move2(t) OnFwd(OUT_C);OnRev(OUT_B);Wait(t);Off(OUT_C+OUT_B); task main() { down;back(60);Wait (50); //1画目 OnRev(OUT_C);OnFwd(OUT_B);Wait(10);Off(OUT_C+OUT_B); //ハネ up;left(30);front(35);Wait(100); //2画目に移動 down;Wait(50);right(30);Wait(50); //2画目(横) move1(30); //2画目(はらい) up;right(80);front(50);Wait(100); //3画目に移動 down;Wait(50); //3画目 OnFwd(OUT_C);OnFwd(OUT_B);Wait(30);Off(OUT_C+OUT_B);Wait(50); move2(30) //3画目(はらい) } 斜めに動くマクロを追加しました。 *難しかった点 [#a96ac96f] 課題となった点は +3つのモーターでどうパーツを動かすか。 +横にスライドさせるシステムをどう作るか。 +モーターの回転は変わらないのでいかに同じバランスで動きを伝えるか。 +車体の不安定さをどう克服するか。 +プログラムをいかに簡単にするか。 *工夫した点 [#a471ecca] 課題ごとに +モーターを車輪、スライドシステム、スライドシステムの上下の3つに分け、車輪を1つのモーターでまわすことにした。 &ref(2006a/A1/課題1左/SA350003.JPG,50%,車輪); +モーターに歯車をつけ直接回転を伝えるパーツを使った。 &ref(2006a/A1/課題1左/SA350001.JPG,50%,スライド); +ギアを使ったり、ゴムを使ったりしたが車輪は普通のギアで、スライドパーツもモーターに小さい歯車をつけたときが一番バランスよい速さになった。 +車体は後ろに補助輪をつけただけでかなり安定した。そして、スライドと車体をつなぐアームのつけ方を逆にしたところ、かなりペン先が安定した。 &ref(2006a/A1/課題1左/SA350002.JPG,50%,アーム); +字の書き方がほかのチームと違い、前後左右の組み合わせなので定義を使ってかなり簡略化できた。 &ref(2006a/A1/課題1左/dscn2540_Medium.jpg,50%,ミズキ完成形); *考察 [#x3d109e2] - *反省点 [#eae3f20c] 完成がぎりぎりになってしまったこと。 もっと早く分担を決めて効率よくやるべきだった。 *感想 [#y5f7b983] 今回のマシーンは ほかのチームと明らかに書く動作が違うこと。 プログラムが一番短いこと。 字を書くスピードが一番速かったこと。この3つは良かったと評価しています。ただ、完成までの道のりがとても効率悪かったので、次の反省にしたいです。 -ついでに斜めの画もマクロで定義するとメインプログラムがもう少し見やすくなりますね。 -- [[松本(教員)]] &new{2006-06-01 (木) 08:39:12}; -pukiwikiの場合、番号付きの箇条書きを作成するには各項目を『+』で始めます。『-』だと番号なし(順序なし)の箇条書きになります。 -- [[松本(教員)]] &new{2006-06-01 (木) 08:43:24}; #comment コメントをどうぞ…