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

投稿者:

Arduinoにはさまざまなシールド(機能拡張基板)が発売されています。しかしその中にはArduino Uno(あるいはDuemilanoveかそれ以前のバージョン)を対象に作られていて、Arduino Mega 2560やArduino Leonardoではそのまま使えないものもあります。例えばMP3プレイヤーシールドなどはD11〜D13にSPI信号がでていることを前提に作られており、そのままではMegaやLeonardoでは使えません。

一方、Uno R3, Mega 2560 R3 ,Leonardo(R3)ではArduino Pinout 1.0というレイアウトが採用されており、SPIやI2Cなどの端子が共通化されています。

そこで今回は、Arduino Pinout 1.0レイアウトに対応したArduino用バニラシールド基板ver.2(白)を利用して、Uno用のSPI接続シールドをMegaやLeonardoでも使えるようにする変換シールドを作成します。

材料

上の2点はスイッチサイエンスのWebショップで販売しています。下の2点は販売していませんので、他所より入手願います。

シールド上の配線
下の写真にしたがって配線していきます。色違いの配線材を使った方がわかりやすく配線できるでしょう。バニラシールドver.2はArduino Pinout1.0に対応して基板の端にICSP端子の引き出しを付けてあるので、簡単にSPI信号を取り出すことが出来ます。

D11からMOSIへ配線
D12からMISOへ配線
D13からSCKへ配線

ICSPコネクタの取り付け

6PピンソケットをICSP端子に取り付けます。GNDとVCCが両端になるように取り付けてください。

ピンソケットの取り付け
R3 対応のピンソケットは6P,8P,8P,10Pと3種類4個あります。それぞれに合った枠に差し込んではんだづけして下さい。外側の枠がピンソケットの取り付け枠です。取り付けるスルーホールはジグザグハックになっているので、ピンソケットの足を挿すだけで、ほぼ垂直に立ち上がりますから、そのままはんだづけします。

ピンソケットのカット
ピンソケットのD11~D13の部分の足をカットします。MegaやLeonardoではここにはSPIとは別の信号が出ているため、衝突しないよう様に足をカットするのです。

表向きの側面
裏向きの側面

このカットを施すことで、MegaやLeonardoのD11~D13を上のシールドには 渡さず、ICSP端子から取り出したSPI信号と入れ替えて上に重ねたシールドに渡す事ができる訳です。

以上で完成です。

とりあえずMegaに載せてみました。これだけでは何も役には立たないのですが、この上にUno用SPI接続 のシールドを載せて利用することが出来ます。

側面の様子

 

追記:続編を書きました。こちらも合わせて御覧下さい。「Uno用SPI接続シールドをMega・Leonardoで使えるようにする変換シールドを使ってみた