「Grove Shield for micro:bit」という製品を使い、マイクロビットにGrove規格の各種センサをつなぎます。
今回は、マイクロビットにGrove磁気スイッチ(Grove – Magnetic Switch)をつないでみます。
![](https://sample.msr-r.net/wp-content/uploads/2020/03/mb43_01-300x225.jpg)
つなぎ方は簡単で、以下のように、シールドにマイクロビットと磁気スイッチ、ACアダプタを取り付けるだけです。
![](https://sample.msr-r.net/wp-content/uploads/2020/03/mb43_02-500x375.jpeg)
なお、磁気スイッチの動作確認のため、別途、以下のような装置を作ってみました。
![](https://sample.msr-r.net/wp-content/uploads/2020/03/mb43_03-500x375.jpeg)
サーボモーターに棒を取り付け、サーボモーターを動かすと、棒が横方向に移動するようにします。
棒の先には磁石を取り付け、その磁石の近くに磁気スイッチを固定しておきます(磁石と磁気スイッチの隙間は3mm程度です)。
![](https://sample.msr-r.net/wp-content/uploads/2020/03/mb43_04-500x375.jpeg)
サーボモーターの制御用にもマイクロビットを準備し、Aボタンを押すとサーボモーターを1000回動かすプログラムを書き込んでおきます。
![](https://sample.msr-r.net/wp-content/uploads/2020/03/mb43_05-800x511.png)
これで、マイクロビットのAボタンを押すと、磁石が磁気スイッチに近付いたり離れたりを1000回繰り返すことになります。
何かの機械の、動いている場所の動作回数をカウントすることを想定しています。
さて、磁気スイッチを取り付けた方のマイクロビットには、以下の簡単なプログラムを書き込みます。
![](https://sample.msr-r.net/wp-content/uploads/2020/03/mb43_06-800x511.png)
「コンソールを表示 デバイス」をクリックすると、以下のように、0と1が交互に出現しており、磁気スイッチで棒の動きを正しく検知できていることが確認できます。
![](https://sample.msr-r.net/wp-content/uploads/2020/03/mb43_07-800x511.png)
次に、この結果を踏まえて、以下のプログラムを作成しました。磁気スイッチの検知回数をカウントし、10秒毎にシリアル通信で書き出すものです。
![](https://sample.msr-r.net/wp-content/uploads/2020/03/mb43_08-800x511.png)
これで棒の動作回数をカウントしたところ、正しく1000回と計測できました。
![](https://sample.msr-r.net/wp-content/uploads/2020/03/mb43_09-800x511.png)
なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。
初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。