マイクロビットを使ってみる 〜サーボモータで水準器をつくる

スポンサーリンク
電子工作の作例

以前の投稿で、サーボモータを使って、コンパスのようなものを作りました(記事は こちら)。

ここでは、これによく似たものをつくります。加速度センサの測定結果に基づいて、サーボモータが、常に水平を示すようにします。


機能

サーボモータ(SG92R)をマイクロビットと繋ぎ、加速度センサの測定値に応じて動作させます。

SG92Rは、動作電圧が4.8Vなので、マイクロビットに供給するのとは別に電源が必要です。今回はエネループ4本(1.2Vx4=4.8V)を供給します。
配線は、茶がGND、赤が電源、黄色が制御信号です。

材料

  • マイクロビット
  • 電池ボックス(セリアの電池式モバイルバッテリー)
  • 電池ボックス(単三x4本用)
  • 電池(単三×6)
  • USBケーブル
  • 皿ネジ(M3x15mm)(×2)
  • ナット(M3)(×4)
  • プラスチック座金(内径3mm)(×2)
  • サーボモータ(SG92R)
  • ブレッドボード
  • ジャンパーワイヤ(×2)
  • すずメッキ線(抵抗の足などの切れはし)(×2)
  • 消しゴムの切れはし、両面テープ
  • 赤ビニールテープ
  • ハコ

プログラム

以前の投稿で、コンパスを作ったとき(記事は こちら)と、ほとんど同じです。
加速度センサで測定した「傾斜(°)-ロール」を補正し、その結果を「サーボ 出力する」でP0に出力します。
サーボモータの動作範囲が0〜180°なので、傾斜を180で割ったあまりを使います。

つなぎかた

ケーブルを減らしたかったので、マイクロビットの端子にすずメッキ線を取り付けました。

これを直接、ブレッドボードに差し込みます(向きを変えてもマイクロビットが抜け落ちないように、消しゴムの切れはしで補助しています)。

サーボモータの電源のうちVDD側は、4.8V電池ボックスのVDDと直接つなぎます。また、サーボモータのGND、4.8V電池ボックスのGND、マイクロビットのGNDの3箇所をつなぎます。
最後に、サーボモータの制御信号と、マイクロビットの0番端子をつなぎます。

マイクロビット用の電源は、モバイルバッテリーからUSBケーブル経由でつなぎます。

立てて使うので、向きを変えても大丈夫なように、ハコに収めました。サーボモータの動きが見えやすいように、赤のビニールテープを貼っておきました。

結果

比較のため、横にスマホを並べて、「計測(水準器)」を起動しておきました。
おおむね正しく、水平を示しているようです。ただやはり、サーボモータの動きがカクカクしていて、なめらかではありません。

 

なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。