Uno用SPI接続シールドをMega・Leonardoで使えるようにする変換シールドを使ってみた

以前に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で使えるようにする変換シールドを使ってみた」 でした。

 

 

Pocket