ここでは、マイクロビットに入っている地磁気センサ(コンパス)の測定結果に基づいて、サーボモータを、針式の方位磁石のように動作させます。
機能
サーボモータ(SG92R)をマイクロビットとつなぎ、地磁気センサ(コンパス)の測定値に応じて動作させます。
SG92Rは、制御角が±約90°なので、マイクロビットを北向き180°の範囲内に向けているときに、北を指すことができるようにします。
配線は、茶がGND、赤が電源、黄色が制御信号です。
動作電圧が4.8Vなので、マイクロビットに供給するのとは別に電源が必要です。今回はエネループ4本(1.2V x 4 = 4.8V)を供給します。
材料
- マイクロビット
- USBケーブル
- 電池ボックス(セリアの電池式モバイルバッテリー)
- 電池ボックス(単三x4本用)
- 電池(単三×6)
- 皿ネジ(M3x15mm)(×2)
- ナット(M3)(×5)
- プラスチック座金(内径3mm)(×2)
- ジャンパーワイヤ(×3)
- サーボモータ(SG92R)
- 消しゴムの切れはし、両面テープ、赤色ビニールテープ
- 底面にコロがついた台
プログラム
地磁気センサで測定した「方角(°)」を補正し、その結果を「サーボ 出力する」でP0に出力します。
サーボモータの動作範囲が0〜180°なので、方角を180で割ったあまりを使います。
つなぎかた
まず、マイクロビット用の電源は、モバイルバッテリーからUSBケーブル経由でつなぎます。
サーボモータの電源のうちVDD側は、4.8V電池ボックスのVDD側と直接つなぎます。また、サーボモータのGND、4.8V電池ボックスのGND、マイクロビットのGNDの3箇所をつなぎます。
最後に、サーボモータの制御信号と、マイクロビットの0番端子をつなぎます。
なお、マイクロビットの端子には、皿ネジを取り付け、ワニ口クリップなしで配線をつなぐことができるようにしています。
サーボモータとマイクロビットの位置関係が変わらないように、ひとつの台の上に、両面テープで並べて貼り付けました。
サーボモータには、北方向の目印として、赤いビニールテープを貼っています。
結果
となりに「コンパス」アプリを起動した状態のスマホを並べ、今回つくったコンパスと一緒に動かして、比較してみました。
サーボモータの動きがキビキビしすぎていて、なめらかではありませんが、一応、おおむね正しく、北方向を指しているようです。
なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。
初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。