LoginSignup
3

More than 1 year has passed since last update.

posted at

updated at

Organization

【Seeed UG 2021】 micro:bit と Groveモジュールの話(2021年12月)

この記事は、2021年の Seeed UG のアドベントカレンダー の 25日目の記事です。

今回の内容

この記事では、自分が良く使っている「Grove Shield for micro:bit」や、micro:bit で使える Groveモジュールに関係した話を書いていこうと思います。

公式ページでいうと、以下が関連する内容になります。

Grove Shield for micro:bit について

自分が Groveモジュールと micro:bit を合わせて使う場合、「Grove Shield for micro:bit」を使うことが良くあります。
「Grove Shield for micro:bit」は、「Grove Inventor Kit for micro:bit」というキットの中に含まれていたり、単品でも購入できたりするシールドで、micro:bit で Groveモジュールを扱うのを便利にしてくれます。

自分は、以下のツイートなどに出てくる LEDテープを使う場合に、特によく利用しています。

わりと最近だと、ダイソーで売っているおもちゃの刀を光らせるのに使ったりしました。

MakeCode と組み合わせて利用する

このシールド と MakeCode を組み合わせて使う場合、 特定の Groveモジュールに関しては専用の拡張ブロックが用意されています。
専用の拡張ブロックに対応したモジュールの中には、Wi-Fi に接続するモジュールもあったりします(それについて、過去に以下の記事を書いています)。

●【IoTLT 2020】 micro:bit を使った IoT(Grove - UART Wifi V2 との組み合わせ、IFTTT利用) - Qiita
 https://qiita.com/youtoy/items/459289951134544e73eb

また、縁あって以下のエンジニアブログに、このキットに関する記事を寄稿させていただいたこともあり、そこで上で話題に出している専用ブロックを使っています。

●micro:bit(マイクロビット)用のビジュアルプログラミング環境でGroveモジュールを使う 〜マイクロビット用Grove Inventor キット〜 - Seeed K.K. エンジニアブログ
 https://lab.seeed.co.jp/entry/2020/05/22/120000

micro:bit で Groveモジュールを使う

特定の Groveモジュールには専用ブロックが用意されていますが、それ以外のモジュールも MakeCode標準のブロックと組み合わせて micro:bit で使うことができます。

それについて、冒頭に掲載していた「microbit wiki Page」のほうに「Grove compatible with Micro:bit」という部分があり、そこには以下のような対応表が掲載されています。

ページ1.jpg
ページ2.jpg
ページ3.jpg
ページ4.jpg
ページ5.jpg
ページ6.jpg

ご覧の通り、かなり大量の Groveモジュールが並んでいます。
この中の一番右の列を見ると、先ほど話に出していた MakeCode の専用拡張ブロックがあるかどうかが分かるようになっています。
右端の列.jpg

その他、スイッチサイエンスさんの「micro:bit用GROVEシールド v2.0」のページを見ていくと、以下の部分に Excelファイルへのリンクが掲載されています。
micro_bit用GROVEシールド_v2_0_-_スイッチサイエンス.jpg

このファイルを開くと、ここでも MakeCode で利用可能な Groveモジュールの表が掲載されていて、色付きで見やすい表になっています(ただし、上記の Wiki の表と比べて、掲載されているモジュールの数がかなり少ないような...)。
Excelの表.jpg

MakeCode と組み合わせて利用する

専用ブロックがあるモジュールは、公式の Wiki に使い方が出てたりするので、専用ブロックがないものをいくつか試してみようと思います。

Grove振動センサー(SW-420)

最初は、以下の振動センサを試してみます。
 ●Grove振動センサー(SW-420)- Grove Vibration Sensor - Seeed Studio
  https://jp.seeedstudio.com/Grove-Vibration-Sensor-SW-420-p-3158.html
 ●Grove - Vibration Sensor(SW-420) - Seeed Wiki
  https://wiki.seeedstudio.com/Grove-Vibration_Sensor_SW-420/

仕様的には、MakeCode の以下を使うことになりそうです。
 ●Digital Read Pin
  https://makecode.microbit.org/reference/pins/digital-read-pin

適当に試しているとうまくいかず、その後に試行錯誤したり調査をしているとプルアップをする必要がありそうだと分かりました。
振動センサ(プルアップ).jpg

そして、「振動センサ プルアップ」というキーワードでさらに調べていたら、以下の記事が出てきました。
●micro:bitを使ってみる 48 〜Grove振動センサ - MSR合同会社
 https://msr-r.net/try-microbit-48/
「プルアップ・プルダウンなし」でも大丈夫とのことだったので、以下でも想定通りの動きになることを確認してみました。
振動センサ(プルアップ・プルダウンなし).jpg

上記を動作させている様子はこちらです。

無事に動作しているようです。

Grove スイッチ(P)

次はこちらです。
 ●Grove スイッチ(P) - Grove Switch(P) - Seeed Studio
  https://jp.seeedstudio.com/Grove-Switch-P-p-1615.html
 ●Grove - Switch(P) - Seeed Wiki
  https://wiki.seeedstudio.com/Grove-Switch-P/

仕様を見ると、先ほどと似たような感じで使えそうです。
試しに以下のプログラムで動かしてみました。
スイッチ(P).jpg

上記を動作させている様子はこちらです。

想定している通りの動作を確認できました。

Grove 光センサー v1.2

次は、アナログ入力を試していきます。
試すセンサーは、以下の光センサーです。
 ●Grove 光センサー v1.2 - Grove Light Sensor - Seeed Studio
  https://jp.seeedstudio.com/Grove-Light-Sensor-v1-2-LS06-S-phototransistor.html
光センサーとの組み合わせ.jpg

MakeCode で、センサーで取得した値をシリアル通信で出力する、という単純なプログラムを作って動かしてみます。
光センサー.jpg

MakeCode上でシリアル通信の出力を表示させつつ、センサーの近くを手で覆ったり、覆っている手を遠ざけたり、ということをやってみると、以下のグラフが得られました。
グラフ.jpg

おわりに

今回、micro:bit で Groveモジュールを使う話を、まとまりがない感じで色々と書いていきました。
まだまだ自宅に micro:bit とは組み合わせてない Groveモジュールがあるので、それらもまた今後使っていければと思っています。

気になった内容

「振動センサ」の部分に登場していた記事のタイトルに「48」という番号がついていたので、他にも micro:bit に関する記事がたくさんありそうだと思って調べてみたら、以下一覧ページがありました。
 ●【連載】micro:bitを使ってみる - MSR合同会社
  https://msr-r.net/category/%e3%80%90%e9%80%a3%e8%bc%89%e3%80%91microbit%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/

その中で気になる記事が 1つあったので、メモとして残してみました。
また、別の機会に試すことができたらと思います。
 ●マイクロビットとM5Stackでゲートウェイをつくる - MSR合同会社
  https://msr-r.net/gateway-microbit-and-m5stack/

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3