課題は、ロボットに七画以上の漢字を書かせることである。大学生活を表す漢字を選ぶということで、免許を取ろうか迷っている私は「車」という漢字を設定した。†ロボット自体は写真の通り単純な作りにした。本体には手を加えずに、前方にモーターをつけてペンを上下させる構造になっている。一つ工夫した点は、ペンを外側ではなく内側につけたことだ。本体をそのまま動かすので回転するときはペンがタイヤの中心に近いほうがイメージがしやすくなる。欠点としては、安定感に乏しく揺れが大きい点と課題には関係がないがペンを装着しにくい点だ。回転の時間よく使うものを先に定義しておく。長い直線の時間は「車」の一番上と一番下の横棒の時間。短い直線の時間は「車」の「日」の部分の時間。Off(OUT_A);}この二つは、ペンの上げ下げの動作をあらかじめサブルーチンにしたもの。Off(OUT_BC);}この二つは、それぞれ左右に90度回転するサブルーチン。「車」という字は、全てが直角になっているため90度に設定した。本体の揺れが回転に影響を与えてしまわないように時間の猶予をあたえた。Off(OUT_BC);}これらは、位置を微調整するために作ったもので、使う場所によって時間が異なるため、直接時間を入力するようにした。tunagi_r(220);}一画目から二画目の直前までのサブルーチン。一画目を書いた後、前進し、その後右に90度回転し、後退する。tunagi_r(150);}二画目から三画目の直前までのサブルーチン。tunagi_f(50);}三画目から四画目の直前までのサブルーチン。turn_r();}四画目から五画目の直前までのサブルーチン。tunagi_r(150);}五画目から六画目の直前までのサブルーチン。tunagi_r(500);}六画目から七画目の直前までのサブルーチン。tunagi_r(250);}七画目から八画目の直前までのサブルーチン。pen_up();}八画目のサブルーチン。一画目以外のサブルーチンには、揺れの影響を少なくするために時間の猶予を与えた。八画目}メインのプログラムは、一画ずつの確認をしやすくするため簡単なものにした。概ね「車」と書かせることができたが、ところどころはみ出てしまうときがある。動くことによってペンが揺れてしまい、回転に影響が出ることがあった。それ以外にも、ペンが真っ直ぐではなく、円周をなぞるように入っていくので前方に行き過ぎることもあった。ロボット本体の構造をもう少し工夫できたらよかったと思う。プログラムについては、二画目から八画目のサブルーチンの最初にあるWait(500)はpen_down()のサブに含めれば少し楽になったと思う。前進するだけのOnFwdではなく、一定距離を進むものや設定した角度で回転するようなものを使えば、より正確な漢字を書くことができただろう。†あまり時間がなく、いろんなプログラムに挑戦することができなかった。プログラミングをやったので、勝手がよくわからなかったけど、一応完成させることができたのでよかった。次の課題のときは、できれば一つのプログラムだけではなく、二通り以上のプログラムを作り、その良し悪しを比較してみたいと思った。