目次
#contents
課題1[[2017a/Member]]
*課題 [#n4119066]
A4の紙に松本の大学生活を表す漢字一文字を書く。
課題1[[2017a/Mission1]]
**漢字について [#vc80521a]
大学に入ってからジャグリングと軟式テニスを始めたので、「球」にした。
*ロボットの説明  [#hf427889]
**ロボット全体 [#i4e7d039]
今回のロボットは、ペンを前後左右に動かすことで字を書く駆動である。
モーターは3つ使用しており、
ロボット本体の前後、ペンの左右、ペンの上下に動かしている。
初めはロボット本体を動かし字を書くロボットとプログラムを作っていたが、
プログラムが難しく途中でこのロボットに変更した。
#ref(./DSC_0241.JPG,50%)
また、持ち運びがしやすいように簡単に分解できるようにした。

&ref(2017a/Member/rock/Mission1/DSC_0241.JPG,50%);
&ref(2017a/Member/rock/Mission1/pic_ro1.jpg,50%);
**前後の動き [#xfbeb771]
ロボットを前後させるためのモーターを本体の内側にいれ、外側から見えないようにした。
また、タイヤを3つ使いロボットを安定させている。
#ref(./pic_ro5.jpg,50%)
**左右の動き [#fd359bcf]
ペンを左右させるためのレールに摩擦が少なくなるように丸い部品を使った。
また、固定されていない棒を使い、レールの振動を軽減させることと、スライドし過ぎてレールから外れないようにした。

&ref(2017a/Member/rock/Mission1/pic_ro6.jpg,50%);
&ref(2017a/Member/rock/Mission1/pic_ro2.jpg,50%);
**上下の動き [#n0b61248]
モーターを動かすことでペンを上げ下げしている。
#ref(./pic_ro7.jpg,50%)
*文字について [#hbcbdbe2]
今回、正しい書き順ではなく、プログラムが簡単になるように書き順を変更した。
#ref(./pic_ro8.jpg,50%)
*プログラムの説明 [#he8f61c0]
縦線と横線をサブルーチンでプログラムした。ペンを下したあとの振動がおさまるのをまつため、止まっている時間をつくった。
 sub yoko()
 {
  Off(OUT_B);
  Wait(100);
  OnRev(OUT_A);
  Wait(20);
  Off(OUT_A);
  OnRev(OUT_B);
 }
 
 sub ten()
 {
  Off(OUT_B);           
  Wait(150);
  OnRev(OUT_C);
  Wait(13);
  Off(OUT_C);
  OnRev(OUT_B);
 }
 
 task main()
 {
  yoko();                //1画目
  OnFwd(OUT_A);
  Wait(25);
  Off(OUT_A);
  OnFwd(OUT_C);
  Wait(17);
  Off(OUT_C);
  yoko();                //2画目
  OnFwd(OUT_A);
  Wait(25);
  Off(OUT_A);
  OnFwd(OUT_C);
  Wait(17);
  Off(OUT_C);
  yoko();                //3画目
  OnFwd(OUT_A);
  Wait(15);
  Off(OUT_A);
  Off(OUT_B);            //4画目
  Wait(100);
  OnRev(OUT_C);
  Wait(33);
  Off(OUT_C);
  Wait(50);
  OnRev(OUT_AB);
  Wait(25);
  Off(OUT_AB);           //5画目
  Wait(100);
  OnFwd(OUT_C);
  Wait(45);
  Off(OUT_C);
  OnRev(OUT_C);
  Wait(15);
  Off(OUT_C);
  Wait(100);
  OnFwd(OUT_A);          
  Wait(9);
  Off(OUT_A);
  Wait(100);
  yoko();                //6画目
  OnFwd(OUT_C);
  Wait(15);
  Off(OUT_C);
  OnRev(OUT_B);
  ten();                 //7画目
  OnRev(OUT_C);
  Wait(8);
  Off(OUT_C);
  Wait(20);
  ten();                 //8画目
  OnRev(OUT_C);
  Wait(8);
  Off(OUT_C);
  Wait(20);
  ten();                 //9画目
  OnFwd(OUT_A);
  Wait(20);
  Off(OUT_A);
  OnFwd(OUT_C);
  Wait(20);
  Off(OUT_C);
  ten();                 //10画目
  OnRev(OUT_C);
  Wait(10);
  Off(OUT_C);
  Wait(20);
  ten();                 //11画目
  Off(OUT_B);
 }
*まとめ [#zf6ed14a]
**書けた漢字 [#k835a0cd]
少し横長になってしまった。
#ref(./pic_ro9.jpg,50%)
**感想 [#sa72611c]
私はロボットを組み立てるのがうまくなく、相方にたくさん助けてもらいロボットを作った。
また、プログラムが長々となってしまった。毎回文字を書くと変わってしまい何度もプログラムを変更するのが大変だった。しかし、思った通りに書けたときは何度でもうれしかった。次回はプログラムをきれいに書きたい。


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