はじめに
この記事は、2ヶ月前くらいに購入した「StackChan用の micro:bit接続拡張ボード」を少し試した時の流れのメモです。
自分が購入した先は、以下のスイッチサイエンスさんのオンラインショップです。
●M5スタックチャン用micro:bit接続拡張ボード — スイッチサイエンス
https://www.switch-science.com/products/11228
今回のお試しの結果
先に、今回のお試しの結果を掲載します。
実装した内容は、大まかには以下の通りです。
- リモコンになる側の micro:bit で Aボタン押下 ⇒ 表情が「嬉しい」になる
- リモコンになる側の micro:bit で Bボタン押下 ⇒ 表情が「普通」になる
- 拡張ボードに接続した micro:bit で Aボタン押下 ⇒ 表情が「冷や汗」になる
- 拡張ボードに接続した micro:bit で Bボタン押下 ⇒ 表情が「普通」になる
公式の情報
この拡張ボードを使うにあたり、まずは以下の公式の GitHubリポジトリをみました。
※ タイトルに書いている「M5StackChan:bit」は、このリポジトリに書かれていた名称です
●akita11/M5StackChanBit
https://github.com/akita11/M5StackChanBit
物理的な接続
物理的な接続は、上記のリポジトリにあるとおりです。自分の場合、こんな感じになりました。
お試しの手順
以下は、お試しの手順です。
StackChan用のファームウェアの書き込み
StackChan側には、特定のファームウェアを書き込む必要があります。具体的には、以下にある PlatformIO用のものです。
●M5StackChanBit/FW at main · akita11/M5StackChanBit
https://github.com/akita11/M5StackChanBit/tree/main/FW
自分の環境では、VS Code と以下の拡張機能を用いて書き込みを進めました。
●pioarduino IDE - Visual Studio Marketplace
https://marketplace.visualstudio.com/items?itemName=pioarduino.pioarduino-ide
書き込むファイル一式をローカルに持ってきて、ビルドします。
ファームウェアのビルド時に変更を加えた箇所
自分の環境だと、そのままビルドするだけではエラーが発生しました。原因は以下の ini の記載に関するものでした。
その対策として、以下の変更を加えました。
-build_flags = -std=gnu++17 -DUART_SCLK_DEFAULT=UART_SCLK_XTAL
+build_flags = -std=gnu++17
以下は、修正する前の行をコメントアウトしつつ変更を加えた後の iniファイルです。
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:m5stack-cores3]
platform = espressif32
board = m5stack-cores3
framework = arduino
build_unflags = -std=gnu++11
; build_flags = -std=gnu++17 -DUART_SCLK_DEFAULT=UART_SCLK_XTAL
build_flags = -std=gnu++17
lib_deps =
m5stack/StackChan-BSP@^1.1.0
meganetaaan/M5Stack-Avatar@^0.10.0
crankyoldgit/IRremoteESP8266@^2.9.0
m5stack/M5Unit-NFC@^0.0.3
micro:bit用のコードの準備
StackChan側の準備は整ったので、micro:bit用のコードを準備します。
上に掲載していたデモ動画の内容のとおり、今回は 2つの micro:bit を使います。
StackChan用の micro:bit接続拡張ボードに対応した拡張機能
今回使った StackChan用の micro:bit接続拡張ボードに対応した拡張機能が、GitHub で公開されています。
●m-asaoka-fap/stackchanbit_2: スタックチャンをマイクロビットで制御(コントローラ側)
https://github.com/m-asaoka-fap/stackchanbit_2
拡張ボードに接続した micro:bit の方のコードには、この拡張機能を使います。
この拡張機能を MakeCode で使う際には、拡張機能の検索画面で https://github.com/m-asaoka-fap/stackchanbit_2 という URL で検索します。以下は、その際の検索結果の画面です。
そして拡張機能を読み込むことで、以下のように MakeCode上で新たに複数のブロックを使えるようになります。
micro:bit用のコード1: 拡張ボードに接続した micro:bit用
拡張ボードに接続した micro:bit用のコードは、以下のような内容にしました。
「最初だけ」のところでは、念のため、向きを正面にする処理を入れています。あとは、ボタン押下・無線経由での数値の受信で、以下の動作をするような処理を入れています。
- Aボタン押下 ⇒ 表情が「冷や汗」になる
- Bボタン押下 ⇒ 表情が「普通」になる
- 無線で数字の 1 を受信 ⇒ 表情が「嬉しい」になる
- 無線で数字の 2 を受信 ⇒ 表情が「普通」になる
micro:bit用のコード2: リモコンになる側の micro:bit用
リモコンになる側の micro:bit用のコードは、以下のとおりです。
ここで実装した処理は、以下です。
- Aボタン押下 ⇒ 無線で数値 1 を送る
- Bボタン押下 ⇒ 無線で数値 2 を送る
お試しの結果
以下は、上で YouTube動画で示していたのと同じ、お試しの結果の様子です。
StackChan用の micro:bit接続拡張ボードに対応した拡張機能の補足(使用上の注意)
今回使った StackChan用の micro:bit接続拡張ボードに対応した拡張機能について、GitHub に以下の使用上の注意が書かれているので、補足しておきます。
本ブロックの使用許諾権については 一般社団法人FAP に属します。 こちらの機能を使用して、教育機関、学校の授業やワークショップを実施するには、一般社団法人FAPの許諾が必要となります。 ※個人的に楽しんでいただく分には不要です。 詳細については、こちら[ https://www.kanazawafap.com/contact.html ] からお問い合わせください。









