#contents

*課題 [#h0b79946]

書道ロボットの製作し、7画以上の漢字を書く。詳しくは
[[課題1のページ>http://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMission1]]
を参照。

私は涼という漢字を書くことにした。


*ロボット本体の説明 [#bd9a3611]
**ロボットの外観 [#z75277cb]
上から見た写真
#ref(edo_ue.jpg)
またこのロボットは役割ごとに下の写真のように4つに分解できる
それぞれのパーツについて説明をしていく。



*プログラムの説明 [#e7dae3ec]
**使用したプログラム [#x752e646]

 sub syoki()             //初期位置(左上)にペンを持って行きつつ、モーターのパワーの設定
 
 {
  SetPower(OUT_A,1);
  SetPower(OUT_B,3);
  SetPower(OUT_C,3);
  OnRev(OUT_A);
  Wait(5);
  Off(OUT_A);
  OnFwd(OUT_B);
  OnRev(OUT_C);
  Wait(100);
  Off(OUT_BC);
 }
 
 void migisita (int t)   //ペンを右下に45度t秒動かす
 {
  OnFwd(OUT_C);
  OnRev(OUT_B);
  Wait(t);
  Off(OUT_BC);
 }
 
 void hidarisita(int t)  //ペンを左下に45度t秒動かす
 {
  OnRev(OUT_BC);
  Wait(t);
  Off(OUT_BC);
 }
 
 void sita(int t)       //ペンを下にt秒動かす
 {
  OnRev(OUT_B);
  Wait(t);
  Off(OUT_B);
 }
 
 void ue(int t)        //ペンを上にt秒動かす
 {
  OnFwd(OUT_B);
  Wait(t);
  Off(OUT_B);
 }
 
 void migi (int t)      //ペンを右にt秒動かす
 {
  OnFwd(OUT_C);
  Wait (t);
  Off (OUT_C);
 }
 
 void hidari (int t)    //ペンを左にt秒動かす
 {
  OnRev(OUT_C);
  Wait (t);
  Off (OUT_C);
 }
 void migiue (int t)    //ペンを右上に45度t秒動かす
 {
  OnFwd(OUT_BC);
  Wait(t);
  Off(OUT_BC);
 }
 
 void hidariue (int t)  //ペンを左上に45度t秒動かす
 {
  OnRev(OUT_C);
  OnFwd(OUT_B);
  Wait(t);
  Off(OUT_BC);
 }
 
 #define kakidasi OnFwd(OUT_A);Wait(10);              //ペンを紙につけたままにする
 #define kakiyame OnRev(OUT_A);Wait(5);Off(OUT_A);    //ペンを紙から離す
 
 task main()
 {
  syoki ();
  migi (5);              //氵の書き始めの位置にペンを移動
  sita (10);
  kakidasi;              //氵1画目
  migisita(10);
  kakiyame;
  hidari (15);           //氵の2画目にペンを移動
  kakidasi;              //氵2画目
  migisita(10);
  kakiyame;
  hidari (15);           //氵の3画目にペンを移動
  sita (20);
  kakidasi;               //氵3画目
  migiue (10);
  kakiyame;
  syoki ();              //亠の書き始めの位置にペンを移動
  migi (30); 
  kakidasi;              //亠を一気に書く
  sita (10);
  migi (15);
  hidari (30);
  kakiyame;
  sita (5);              //口の書き初めの位置にペンを移動
  kakidasi;              //口を一気に書く
  sita (15);
  migi (30);
  ue (15);
  hidari (30);
  kakiyame;
  migi (15);             //小の書き始めの位置にペンを移動
  sita (15);
  kakidasi;              //小1画目
  sita (20);
  kakiyame;
  ue (15);               //小の2画目の位置にペンを移動
  hidari (10);
  kakidasi;              //小2画目
  hidarisita (15);
  kakiyame;              //小の3画目の位置にペンを移動
  migi (25);
  ue (15);
  kakidasi;              //小3画目
  migisita (15);
  kakiyame;
 }

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