コンソールを使う
Adventure Board Console は、ブラウザで開く Adventure Board のシミュレーション環境兼プログラム転送環境です。- シミュレータ: シミュレーションされた基板上で、書いたプログラムを動かします
- 実機につなぐ: USB でつないだ本物の基板に、同じプログラムを送って動かします
どちらも同じコードで動きます。シミュレータで動いたものは、基本的にそのまま基板でも動きます。
ブラウザ
開発時はChromeでのみ確認してますが、そのほかのブラウザでもシミュレータは動くはずです。実機につなぐ場合には Chrome か Edge が要ります (Web Serial という、ブラウザから USB の機器と話す仕組みを使うため)。
シミュレータで動かす
以下の手順でシミュレータ上でプログラムを実行できます。
- コンソール を開きます
- 下のコードの欄に Ruby を書きます(サンプルの一覧から選んでもかまいません)
- Run を押します
プログラムに応じて、左の基板の絵の LED が光ります。ボタンは絵の上を押すか、キーボードの 矢印キー / Z(A ボタン)/ X(B ボタン) で押すことでプログラムから読み取れます。
右のエリアの説明
| ボタン | 機能 |
|---|---|
| シミュレータ | シミュレータで使う機能をまとめています |
| ▸ サンプルの一覧 | 用意してあるサンプルをコードの欄に読み込みます |
| ▸ Run | 前に動いていたものを止めて、コードの欄のプログラムを動かします |
| ▸ シミュレータをリセット | 画面の中の基板の電源を入れ直します |
| 実機 | 実機をつないだ時に利用する機能をまとめています |
| プログラム編集領域 | ここでプログラムを編集します。文字の大きさも調整できます |
| 実機端末(xterm) | 実機を接続したときの、シリアル通信のログが表示されます。入力も可能です |
| ライブラリのコードを見る | AdventureBoard にあらかじめインストールされているライブラリコードを見ます。低レベルの処理内容を確認できます |
| 鳴った音を見る | いつ、どの音が鳴ったかを見ます。音が聞こえないときの確認に使えます |
| 高度な機能(実機用) | プログラムを .mrb にして実機に送ったり、実機のライブラリを最新にしたり、初期設定に戻したりします(高度な機能(実機用)) |
左のエリアの説明
シミュレータの入出力を示すための機能です。(実機には影響しない)
| 表示 | 機能 |
|---|---|
| 基板全体、LEDマトリクス、ブレッドボード | 基板のフォーカスする範囲を変えます |
| 基板の図 | プログラムに応じて光ったり、ボタン操作を行ったりできます。ブレッドボードには部品を挿せます(チュートリアル 7) |
| 明るさ | シミュレータでLEDの明るさを変えます |
実機につなぐ
- 基板をパソコンに USB でつなぎます
- 実機に接続 を押します
- ブラウザがポートの一覧を出すので、基板を選びます。複数のシリアルポートがでてきますが、CDCを選びます
- 下の「実機端末(xterm)」に
$>が出たらつながっています
「実機(USBシリアル接続)」の機能
| ボタン | 機能 |
|---|---|
| 実機に接続 / 切断 | 基板とUSBシリアル通信でつないだり、接続を切ったりします |
| 実機で実行 | 動いているものを止めて、コードの欄のプログラムを基板に送って動かします。その場で動くだけで、電源を入れ直しても同じプログラムは起動しません(基板には /home/run.rb として残ります) |
| 実機の app.rb にする | コードの欄のプログラムを、電源を入れるたびに動くようにします(チュートリアル 8) |
| 実機を再起動 | 基板をリセットします。app.rb があればそれが動きます |
| 実機の app.rb を空にする | 電源を入れても何も動かない状態に戻します |
「実機端末(xterm)」は本物のターミナルとして利用できます。キーを打てば、R2P2のシェルをそのまま使えます(R2P2のシェル)。 動いているプログラムを止めるには、端末で Ctrl-C を押します。
うまくつながらないとき
- 一覧に基板が出ない: USB ケーブルが充電専用でないか確かめます。別のケーブルや別の USB の口を試します
$>が出ない: 選んだポートが違います。いったん切断して、一覧のほかのものを選びます- 再起動すると一度 USB が切れますが、基板が起動し終わると自動でつなぎ直します
高度な機能(実機用)
ページのいちばん下の「▸ 高度な機能(実機用)」を開くと出てきます。実機につないでいるときだけ押せます。
プログラムを .mrb にして送る
コードの欄のプログラムを、コンソールの中でコンパイルして(.mrb というバイトコードにして)から基板に送ります。 基板の上でコンパイルしないので、その分のメモリが要りません。大きいプログラムが NoMemoryError で動かないときに試してください。
| ボタン | 機能 |
|---|---|
| .mrb にして実機で実行 | コンパイルしたものを /home/run.mrb に送って動かします。[実機で実行]の .mrb 版です |
| 実機の app.mrb にする | コンパイルしたものを /home/app.mrb に書き、電源を入れるたびに動くようにします。[実機の app.rb にする]の .mrb 版です |
app.mrb と app.rb
基板は、app.mrb があると app.rb より先にそちらを動かします。app.mrb があるあいだは、app.rb は動きません。 そのため、[実機の app.rb にする]と[実機の app.rb を空にする]は、app.mrb があれば消します。
文法の誤りがあるとコンパイルできず、何も送りません。どこが誤っているかは出ないので、Run でシミュレータで動かして確かめてください。
ライブラリを最新にする / 初期設定に戻す
どちらのボタンも、基板の /lib(AdventureBoard のライブラリ)を書き換え、最後に基板を再起動します。 /home のファイル(自分のプログラム、app.rb、サンプル)には触りません。
| ボタン | 機能 |
|---|---|
| ライブラリを最新にする | 基板の /lib を、コンソールが持っている最新のライブラリにそろえます。基板のファイルを 1 つずつ読んで比べ、違うものだけを書き換えます。結果は「実機のライブラリを 2026.10.25 版から 2026.10.28 版にしました」のように出ます。もう最新なら何も変えません |
| ライブラリを初期設定に戻す | 基板の /lib を、基板のファームウェアに入っている版に戻します(配布した基板なら 2026.10.25 版)。再起動するときに、ファームウェアがライブラリを書き直します |
どんなときに使うか
- 配布した基板のライブラリ(2026.10.25 版)では、
play_mmlで音を何度も鳴らすと、だんだんメモリが減ってNoMemoryErrorで止まります。[ライブラリを最新にする]で直ります - 最新にしたあとで動きがおかしいときや、
/libのファイルを自分で書き換えて元に戻したいときは、[ライブラリを初期設定に戻す]を使います
基板に入っているライブラリの版は、irbを実行して、require 'adventure_board' に続いて puts AdventureBoard::VERSION で確かめられます。 2026.10.25 版には VERSION がないので、NameError になります。