Electronics

2017.01.26

携帯ゲーム型Arduino互換機「Gamebuino」

Text by Takumi Funada

GamebuinoがIndiegogoに登場したのは2014年の春。そこから数えると、そろそろ3年目のプロジェクト。プレイできるゲームのリストがだいぶ長くなってきた。作者のAurélien Rodotさんは、昨年秋に会社を辞めて、Gamebuinoにすべての時間を投入することに決めたらしい。早速その効果が現れたのか、在庫が潤沢になった模様。秋葉原でも買えるようになった(秋月電子)。ワタクシもひとつ買ってきた。実際に使ってみるのは、これが初めて。以下はそのファーストインプレッション。

DSC03453

購入したパッケージには、本体のほかにマイクロSDカード(書き込み済み)、USB/マイクロSDカードアダプタ、USBケーブルが付属していて、LiPoバッテリに残量があったことから、本当に買ってすぐ使うことができた。多少の組み立て作業が必要なキットだと思っていたのでちょっと意外な展開。(組み立てキットのMAKERbuinoという新企画が進行中)

gamebuino

Altoid缶には入らないけれど、だいたい同じサイズ感。操作性は良好。

DSC03450
DSC03449

全部品が載っている1枚の基板を、2枚のアクリル板でサンドイッチにしている。この構造はゲーム機プロジェクトでよく見かけるけど、持ったときのバランスや剛性感からGamebuinoの完成度の高さを感じた。ただ、冬場の静電気のせいかアクリル板の両面に細かい粉塵が付着していて、写真がキレイに撮れなかったので、いったん分解清掃してから使うことにした。以下の写真はアクリル板を外した状態。

DSC03459

液晶ディスプレイは84×48ピクセル。いわゆるNOKIA LCDだ。白黒液晶だが、Arduino IDEにインストールして使うGamebuinoのライブラリは中間調(グレー)の表示もサポートしている。このゲーム用ライブラリがGamebuinoコミュニティの活動を支えていると言えそうだ。今回、開発環境についてはこれ以上触れないが、気になる人はまずライブラリリファレンスを見るといいかもしれない。

ここでハードウェアのスペック(一部はライブラリの仕様)をまとめておこう。

CPU:ATmega328P/16MHz(Arduino Uno互換)
ディスプレイ:白黒84×48ピクセル(リサイクル品)
サウンド:4チャンネルの再生に対応、音量8段階
入力:ボタン×7、CdS(光センサ)
通信ポート:マイクロUSB、I2C×2
バッテリ持続時間:最大24時間

DSC03458

基板背面に180mAhのLiPo電池が貼り付けてある。マイクロSDカードスロットの隣にあるICはFTDI FT232RL(USBシリアルインタフェイス)。

DSC03454

肝心のATmegaはどこかと探したら、LiPo電池の下に居た。

DSC03456

充電はUSB経由。5つのLEDで動作状態を表示。

DSC03455

基板面積に余裕はないはずだが、コネクタ類は充実している。2つある白いコネクタはI2C用。

黄色いCボタンにはメニューに「戻る」機能が割り当てられていることが多い。ただし、バイナリの読み込み中に電源を切るなどして正常に起動しなくなった場合は、このボタンを押しながら電源を入れると、SDカードからファームウェアをレストアすることができるらしい。

Gamebuinoは普通のArduinoのようにIDEからプログラムを書き込んで実行することもできるが、SDカードに実行ファイル(HEXファイル)を複数書き込んでおいて、そこからメニューで選んだプログラムをロードする使い方がデフォルトだ。この仕組みによって、簡単にたくさんのゲームを切り替えて遊ぶことができる。SDカードからの読み込みには少し時間がかかるものの、パソコンからバイナリを書き込む手間を考えたらずっと快適。

DSC03457

黒い板状の部品はスピーカ。CdSは液晶バックライトのコントロールに使われている。周囲が暗くなると、自動的にバックライトが点灯したので驚いた。

DSC03461

バックライト点灯中。表示されているのは3Dゲームのデモ。ダンジョンがなめらかに動く。付属のSDカードに収録されているゲームはどれもいい動きで、ビデオゲームを愛するプログラマが集まっているのがわかる。これから、それらを順番にプレイしていくつもり。