課題について

これまで住んだことのある都道府県名、市町村名、地区名などの中から2文字以上、かつ10画以上のものを選び、それをA4の紙を書くロボットを制作せよ。

書く文字について

取り組んだ2人とも愛媛に住んでいたため、地域名から「四国」を書く文字にした。

ロボットについて

文字を書くにあたり、モーターが3つあることや、プログラミングを簡単なものにするため、前後、左右、ペンの上下の3つに大きく分けた。組み立てる際、ロボットの重心、安定性に注意した。

なお初めはロボットを固定し、アームの微調整のみで字を書くロボットを模索していた。しかし、うまく作ることができなかったため断念した。

robot

モーターを回すと左右にアームが移動するように工夫をした。最初は移動とともにペンの角度も変わってしまっていた。だが、上部を支えていたものが1マスのパーツであったため不安定になっていたことが分かり、4マスのパーツにすることで改善された。

プログラミングについて

まずは初めに、どちらの漢字にも四角形があるので、上下左右に動くプログラムを#defineというサブルーチンを使ってそれぞれ定義した。

#define st OnFwd(OUT_A,50);Wait(700);Off(OUT_A);Wait(1000);
#define ba OnRev(OUT_A,50);Wait(700);Off(OUT_A);Wait(1000);
#define ri OnFwd(OUT_B,25);Wait(700);Off(OUT_B);Wait(1000);
#define le OnRev(OUT_B,25);Wait(700);Off(OUT_B);Wait(1000);

stは前進、baは後進、riはアームを手前に動かす、leはアームを奥に動かすプログラムである。

ペンを上下させるプログラムも頻繁に使うため定義をした。

#define dw OnFwd(OUT_C,23);Wait(450);Off(OUT_C);Wait(1000);
#define up OnRev(OUT_C,20);Wait(450);Off(OUT_C);Wait(1000);

dwはペンを下げる、upはペンを上げるプログラムである。

これからプログラムを紹介するが、注意してもらいたいのは移動する度にペンの上下を行っていることだ。これはペンが紙に押さえつけられて、きちんと動作しないことがあったため、それを改善するために行っている。また、すべての動作のあとにWait(1000);というう一秒待つ指示を書いている。こうすることで安定化を図った。

実際に書いてみる

robot

簡単のため筆ペンを用いた。筆圧でアームが動かしにくいこともあったが、ペンの初期位置を調整してなんとか書くことが出来た。

感想

ロボット制作は先がなかなか見えず苦戦することも多かったが、試行錯誤の繰り返しで次第にパーツの使い方を学び、なんとか完成させることができた。また、反省する点も多かった。ロボットの安定性を目指したものの、時間の都合上、結果的に不安定な形状になってしまった。 プログラミングは、ロボットの不安定な形状のため、思ったとおりに字が書けず、モーターや時間の数値を微調整することにかなり時間をかけてしまった。 今回の初めての実践を今後の活動にも活かしていきたい。


添付ファイル: fileIMG_1600.JPG 174件 [詳細] filejouge.png 272件 [詳細] filesayuu.png 175件 [詳細] filejouge.jpg 94件 [詳細] filesayuu.jpg 62件 [詳細] filezentai.jpg 181件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-07-08 (月) 21:40:40