*文字書きロボット [#ee66374f]
このロボットは前後の移動とアームさらにはペンの上げ下げという3つの機能を使い文字を書いています。始めは僕たちの班はいちいちペンをマシンを移動させて持って行こうとしましたが、マシンが曲がろうとすると紙がグチャグチャになるし、口などの字を書く時に角がずれたりしてうまくいかないと思いました。特にnqcの場合後ろタイヤの回転だけで曲がっているので余計に紙がグチャグチャになります。そこで、アームを使って書く方法をおもいつきました。まず、自分たちの力だけでは、うまくやるのが難しいと考えて図書館にnqcに関する本を借りに行きました。本があると便利なことは自分たちのアイディアを形にしやすいことです。実際ペンの上げ下げを考えている時に始めは回転を利用してペンを紙につけようとしていましたが、ペンが思うように紙に接触してくれず悩んでいました。そこで本を開いてみると、上下移動をさせる方法が書いていました。実際に試してみるとうまくいきました。ただ1つ悩んだのが上下移動させるには支柱を固定してはダメなので脇に壁を作り安定させました。前後のだけの移動なのでモーターを1つで移動しています。アームでは下に平たい歯を敷きそれをモーターに噛ませて移動させています。
〜プログラミング [#f5e62d1c]
*定義 [#yd6721ad]
#define naname(t) OnFwd(OUT_AB);Wait(t);Off(OUT_AB);
#define naname2(t) OnRev(OUT_A);Wait(t);Off(OUT_A);OnRev(OUT_B);Wait(t);Off(OUT_B);
#define naname3 OnFwd(OUT_A);Wait(25);Off(OUT_A);OnRev(OUT_B);Wait(25);Off(OUT_B);
#define mae(t) OnFwd(OUT_A);Wait(t);Off(OUT_A);
#define usiro(t) OnRev(OUT_A);Wait(t);Off(OUT_A);
#define migi(t) OnFwd(OUT_B);Wait(t);Off(OUT_B);
#define hidari(t) OnRev(OUT_B);Wait(t);Off(OUT_B);
#define kaku OnFwd(OUT_C);Wait(7);Off(OUT_C);
#define ageru OnRev(OUT_C);Wait(7);Off(OUT_C);
*プログラミング [#p9005ab5]

task main ()
{
 migi(32);//エの下の部分
 ageru;
 hidari(64);
 kaku;
 mae(32);//人偏下棒
 ageru;
 naname2(22);
 kaku;
 naname(44);人偏上棒
 ageru;
 usiro(16);
 kaku;
 migi(48);左1番上
 ageru;
 usiro(16);
 kaku;
 hidari(32);左2番目
 ageru;
 migi(16);
 kaku;
 usiro(32);//左縦棒
 ageru;
 naname3;
 kaku;
 naname(45);左斜め棒
 ageru;
}


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS