micro:bit をキノコbit専用コントローラーにする
micro:bit に「キノコbit専用コントローラー」を書き込むと、傾きやボタンでゲームを操作できます。 MakeCode(JavaScript) と MicroPython(Python) のどちらでもOK。好きな言語を選んでください。
usb-controller (MakeCode JavaScript)
serial.setBaudRate(BaudRate.BaudRate115200)
// ボタン:A=ダッシュ、B=スプラッシュ
input.onButtonPressed(Button.A, function () {
serial.writeLine("A")
})
input.onButtonPressed(Button.B, function () {
serial.writeLine("B")
})
// P0タッチ(ワニクリップ):さわった/はなしたを送る。v2ではP0は「さわるだけ」で反応(導電クイズで使う)
input.onPinPressed(TouchPin.P0, function () {
serial.writeLine("T1")
})
input.onPinReleased(TouchPin.P0, function () {
serial.writeLine("T0")
})
// 傾き(加速度 x, y)を "120,-40" の形で送りつづける
basic.forever(function () {
serial.writeLine(input.acceleration(Dimension.X) + "," + input.acceleration(Dimension.Y))
basic.pause(80)
})
// ハートビート=書き込み済みの目印
basic.showIcon(IconNames.Yes)
basic.pause(400)
basic.clearScreen()
basic.forever(function () {
led.plot(2, 2)
basic.pause(400)
led.unplot(2, 2)
basic.pause(400)
})書き込みの手順
- 公式エディタ makecode.microbit.org を開き、新しいプロジェクトを作る
- 画面上の
{ } JavaScriptに切り替える - 右のコードを全部消して、上のコードを貼り付ける
- micro:bit を USB でつなぎ、ダウンロード(WebUSBならワンクリック。または保存した
.hexをMICROBITドライブにドラッグ) - 書きこめたら、USBケーブルを いちど抜き差しする(これをしないと、つぎの一覧に出ないことがある)
- ゲーム画面で 自分のmicro:bitで参加 → micro:bit を選ぶ
しくみ(どうやって動くの?)
micro:bit は 0.08秒ごとに「
傾きX,傾きY」を、ボタンを押すと「A」「B」を、USBケーブル経由で文字として送信します。サイト側(ブラウザ)はそれを読み取ってキャラを動かします。 MakeCodeでもPythonでも送る内容が同じなので、どちらで書いても同じように遊べます。注意:USB接続は Chrome / Edge / Chromebook 専用(Safari・iPad・Firefoxは非対応 → その場合はゲームの「キーボード」「デモ」で遊べます)。
micro:bit のポートは同時に1つのタブ・アプリしか使えません。書き込みが終わったら編集エディタ側の接続を切って(またはタブを閉じて)からゲームで接続してください。うまく開けない時は micro:bit を抜き差し。
micro:bit のポートは同時に1つのタブ・アプリしか使えません。書き込みが終わったら編集エディタ側の接続を切って(またはタブを閉じて)からゲームで接続してください。うまく開けない時は micro:bit を抜き差し。
Bluetooth(ワイヤレス)で使う場合
ケーブル無しで使いたい時は Bluetooth 接続も選べます(Chromebook / PC / Android 対応。iPhone/iPad は不可)。いちばんかんたんな方法は、下の「BLE版をUSBで書き込む」ボタンです。用意ずみのBLEプログラム(ペアリング不要の設定ずみ)を、USBケーブルでワンクリック書き込みできます。
かんたん:ボタンで書き込む
micro:bit を USB でつないで、下のボタンを押すだけ。書き込みが終わったら一度抜き差しすれば、ゲーム画面の micro:bitで参加(Bluetooth) で一覧に出ます。
micro:bit を USB でつないで、下のボタンを押すだけ。書き込みが終わったら一度抜き差しすれば、ゲーム画面の micro:bitで参加(Bluetooth) で一覧に出ます。
※ USB書き込みは Chrome / Edge / Chromebook のみ
うまくいかないとき → .hex をダウンロードして、
MICROBIT ドライブにドラッグしてね(どの micro:bit でも書けます)。古い micro:bit の直しかた(ブラウザから書きこめないとき)
「この micro:bit は、書きこみ用のプログラム(DAPLink)が古いため…」と出たときは、ケーブルやパソコンのせいではありません。その micro:bit の書きこみ用プログラムが古く、 ブラウザから直接書きこむ仕組みに対応していません。
そのままでも遊べます(上の「.hex をダウンロード →
そのままでも遊べます(上の「.hex をダウンロード →
MICROBIT ドライブにドラッグ」で まったく同じものが書きこめます)。更新すれば、ほかの子と同じワンクリック書き込みが使えます。1. いまのバージョンを見る
USBでつないで
USBでつないで
MICROBIT ドライブの DETAILS.TXT を開き、Interface Version の行を見ます。V1で 0249 より前なら更新の対象です。2. 基板に合ったファイルを落とす(取り違えないこと。裏面のバージョン表記で選ぶ)
- V1(v1.3 / v1.3B / v1.5) … 0249_kl26z_microbit_0x8000.hex
- V2.00 … 0255_kl27z_microbit_0x8000.hex
- V2.20 / V2.21 … 0257_nrf52820_microbit_if_crc_c782a5ba90_gcc.hex
3. 更新する
- ケーブルを全部抜く
- 裏のリセットボタンを押したままUSBをつなぐ
- ドライブが
MICROBITではなくMAINTENANCEとして出てくる - 落とした
.hexをMAINTENANCEにドラッグ - 黄色いLEDの点滅が止まるまで待つ(自動で再起動して
MICROBITに戻る) DETAILS.TXTをもう一度開き、バージョンが上がっていれば完了
※ 中の作品は消えますが、基板が壊れることはありません。もう一度書きこめば戻ります。
※ ファイルの配布元は micro:bit 財団(microbit.org)です。
※ ファイルの配布元は micro:bit 財団(microbit.org)です。
MakeCodeで自分で作る場合(手動)
USB用とは別に、micro:bit へ専用のBLEプログラムを書き込みます:
- MakeCode で 高度な設定 → 拡張機能 → Bluetooth を追加(radio 拡張とは併用不可)
- 下のコードを貼り付けて書き込む
- プロジェクトの設定 →「ペアリング不要(No Pairing Required / JustWorks)」を選ぶ(ブラウザからそのまま接続できます)
- ゲーム画面で micro:bitで参加(Bluetooth) を押す
bluetooth-controller (MakeCode JavaScript)
bluetooth.startAccelerometerService()
bluetooth.startButtonService()
bluetooth.onBluetoothConnected(function () {
basic.showIcon(IconNames.Yes)
})
bluetooth.onBluetoothDisconnected(function () {
basic.showIcon(IconNames.No)
})
basic.showString("BLE")
キノコbit