【備忘録】micro:bitで外部センサーを自在に操る方法💡
「micro:bitって単体だと何ができるの?」そう思ってませんか?実は、ちょっとした拡張基板を使えば、可能性は無限大!今回は、僕が試して感動した外部センサーやモーターの接続方法を、サクッとまとめました。
🦸♂️ 救世主は「DFロボット サーボコントローラー」
外部機器を繋ぐための拡張基板は色々ありますが、僕が使って便利だったのは、DFロボットのサーボコントローラー(型番: DFR0548)です。これが本当に優秀で、マイクロビットのI/Oを9個も使える上に、以下のような複数のモーターを同時に接続できます。
- サーボモーター:8個
- DCモーター:4個
- ステッピングモーター:2個
しかも、お値段も2,000円前後と手頃!DCモーターも繋げられる拡張基板は意外と少ないので、これは本当にありがたいです。
—
🔌 センサー接続の基本テクニック
モーターだけでなく、他のセンサーも簡単に繋げます。特別な拡張機能は必要なく、MakeCodeの「高度なブロック」にある「入出力端子」と「シリアル通信」だけでOKです。具体的な接続方法を見ていきましょう。
🔊 外部スピーカー
まず、MakeCodeの「音楽」カテゴリーから「内蔵スピーカーをオフにする」ブロックを置きます。たったこれだけで、自動的にP0端子が外部スピーカーの出力に切り替わります。あとは「メロディーを鳴らす」などのブロックを組み合わせるだけで、P0に繋いだスピーカーから音が鳴ります。
—
💡 LEDライト
LEDの点灯も超簡単!「入出力端子」にある「デジタルで出力する」ブロックを使います。端子を選んで、値を1にすればLEDが点灯、0にすれば消灯します。
—
☀️ 光センサーやマイクなどのデータ取得
光センサーや赤外線センサー、マイクなどからデータを読み取る場合は、「シリアル通信」ブロックが便利です。一番シンプルなのは「シリアル通信 名前と数値を書き出す」ブロック。例えば、光センサーで明るさを測る場合、名前を「light」とし、値に「アナログ値を読み取る」ブロックを繋ぎます。
シリアル通信 名前「light」と 数値 アナログ値を読み取る P0
これをmicro:bitに書き込むと、シミュレーター画面の下にある「データを表示(デバイス)」ボタンから、リアルタイムで測定データを確認できます。もちろん、CSVやテキストファイルとして保存することも可能です。
—
⚙️ モーターの制御
先ほどのDFロボット基板をフル活用するために、MakeCodeで「pxt-motor」という拡張機能を読み込みます。この拡張機能を追加すると、モーター制御が驚くほどシンプルになります。
- DCモーター:
DF-Driver
ブロックの中にあるMOTOR
、dir
(方向)、SPEED
を設定するだけで、前進や後退を制御できます。 - サーボモーター:
servo
ブロックで角度(degree
)を設定するだけで、簡単に動かせます。
💡 ポイント:この拡張基板1つで、これまで難しかった「外部センサーとモーターの組み合わせ制御」が、MakeCode上で誰でも簡単にできるようになります。特に、複数のセンサーやモーターを同時に動かしたい時には、この基板が大きな力を発揮します。