以前にUno用SPI接続シールドをMega・Leonardoで使えるようにする変換シールドについて書きましたが、その時は上になにも載せていなかったので、ちょっとだけその後のご報告をいたします。
今回、変換シールドの上に載せてみたのはGameduinoです。
Gameduinoは名前にduinoと付いていますが、Arduino互換機ではなく、Arduino用シールドで、VGAモニター出力を持ったゲームアダプタです。 400×300ピクセル512色表示可能で、スプライト機能やステレオ12bit周波数シンセサイザ出力もある非常に強力な拡張ボードです。インターフェースはSPIでその信号をD11~D13(とD9)から取るようになっています。
◆Gameduino使用ピンと接続先
Arduino シールドピン⇔GameDuino内部
- GND - Signal ground
- 3.3V → VCC
- 5V → Main supply: 3-6V
- D11 → SPI MOSI
- D12 ← SPI MISO
- D13 → SPI SCK
- D9 → SPI SEL
ところが、Arduino MegaやArduino LeonardoはD11~D13にはSPIの信号が出ていませんので、そのままではGameduinoを使えません。そこで登場するのが先日の変換シールドです。 ICSP端子からMOSI,MISO,SCKからとってきて、D11,12,13へ渡すので、うまく上のシールドを動かせるわけです。
こちらはArduino Mega 2560 R3に変換シールドを載せ、さらにGemaduinoを載せた例です。画面や音声の重い処理をGameduinoに任せられるとは言え、複雑なGameを作るにはSRAM2KB,Flash32KBのArduino Unoは少々心もとない所もあります。Arduino MegaならSRAMが8KBと4倍、Flashが256KBと8倍ですから、かなり色々な事が出来そうです。
サンプルスケッチのBallを動かした様子。ちなみにArduino Leonardo→変換シールド→Gameシールドでもこのサンプルスケッチの動作確認が出来ました。Gameduinoの プロダクトサイトにはサンプルスケッチやスクリーンショット、デモ動画など色々ありますので、ぜひ一度ご覧ください。
ところで、実はそうこうしているうちにSparkFun社から同様の製品が出てきました。トランスモグリシールドです。
写真は、Arduino Mega 2560→トランスモグリシールド→Gameduinoと重ねた例です。きちんと動作しています。このトランスモグリシールドは、SPI信号に付いて変換するだけではなくArduino 1.0 Pinoutで増えたI2C端子から、A4,A5に変換してくれます。変換シールドを自作するより費用は少々高くなってしまいますが、はんだづけが苦手な方、作るのが面倒な方はこちらを検討されてはいかがでしょう?
以上、「Uno用SPI接続シールドをMega・Leonardoで使えるようにする変換シールドを使ってみた」 でした。