●サーボを動かす


サーボを動かしてみましょう。サーボの出力軸(白いギザギザのところ)は通常0°~180°の範囲で回転しますが、その位置はサーボの容器に対して絶対的に決まっています。そのため出力軸の回転位置を気にせずに適当にロボットを組み立ててしまうと、出力に取り付けられた部品が思い通りに動いてくれません。まずはサーボの出力軸を90°の位置に停止させるプログラムをつくります。

下の写真を参考に配線してください。サーボは電池から電源を供給する回路になっていますので、今回は電池をつなぎます。サーボは12個使いで対応するコネクタが12箇所ありますが、すべてのコネクタから90°の信号を出力します。サーボのコネクタは逆向きに挿しても動きませんが壊れることはありません。中央のピンがプラス電源となっているためです。一方、電池のワイヤーは逆につけるとマイコンが壊れますので絶対に間違えないでください。コネクター側基板上に"G"と記載されている側がグランド(黒線)です。
電源スイッチはOFF側にしておきます。
*サーボを取り扱う際の注意
サーボは非常に精密なギアで構成されています。出力軸を回そうとして(「バックドライブ」と言います。)引っ掛かりがある場合に無理に回そうとするとギアを破損します。

mm_servo_bat

ハードウェアの準備ができましたらプログラムを作っていきます。
「Blockly@rduino」で新しい画面を準備してください。前回のブロックが残っている場合は右下のゴミ箱に捨てるか、「ワークスペースをクリア」です。
今回からサーボを使いますので、「マイクロマシーン」から「アクション初期化」を選んでドラッグ&ドロップします。これで12個のサーボが使えるようになります。offsetにはまだ何もつなぎません。

次に「COG」->「POWERBOTS」->「マイクロマシーン」->「サーボ駆動」を選んでドラッグ&ドロップ、コネクタ#は"0"とします。
角度のところには、ブロックエリアの数値から"0"を持ってきて接続します。0を90に変更します。

micromachine_tutorial_visual_3-1

前回と同様にプログラムをボードに書き込みます。「ボードへの書き込みが完了しました。」と出たら基板の電源スイッチをONにします。サーボが動いて90°の位置(センター位置)で停止します。(新品のサーボを用いた場合はもともと90°の位置になっていて動かない場合があります。)

●練習問題

角度を変えてサーボの軸が動くことを確認してください。一応30°~150°ぐらいの範囲にとどめてください。
*最後に90°に戻しておいてください。

●プログラムの説明

今回使ったブロックで「アクション初期化」ブロックはプログラムの中で最初に1回だけ実行されます。一方、「サーボ駆動」ブロックは何もしないと何度も繰り返し実行されます。設定角度を変えてサーボを動かしたりするためです。ただし今回は角度を一度設定したまま動かしませんので、下のようにしても同じです。「初期設定ブロック」は最初に1回だけ実行することを明確にしたいときに使います。

micromachine_tutorial_visual_3-2

●往復運動させる

ブロックを少し加えてサーボを往復運動させてみます。プログラムの意味はわかると思います。右側の塊りは上から下へ順に実行されたのち、また上に戻って繰り返されます。
#0サーボがセンター位置を中心に往復運動することを確認してください。そのままでは見えませんのでサーボホーンを取り付けてください。

micromachine_tutorial_visual_3-3

●デバッグの方法

サーボとは直接関係ありませんが、プログラムが思い通りに動かない時などに原因を調べるひとつの方法です。
上のプログラムに少し追加します。

micromachine_tutorial_visual_3-4

このプログラムをメイン基板に転送して実行し、Arduino IDEの「ツール」->「シリアルモニタ」からシリアルモニタを起動します。"angle="の内容が1000msごとに出てくると思います。(出てこない場合は画面下で9600bpsを選択)このように実行中のプログラムの状況を調べることができます。
今回の成果は"mm03"などとして保存しておきましょう。

最後に12個すべてのサーボを90°の位置にしてサーボホーンを外しておいてください。

<= マイクロマシーン チュートリアル ビジュアル版(2)
チュートリアルベース
マイクロマシーン チュートリアル ビジュアル版(4) =>