Adafruitの1.8" TFT Shield、SPI関係の信号線をICSP端子からではなくArduino UNOのD13、D11から取っているのでそのままではArduino LeonardoやDueで動かない。そこで端子を変換するゲタを作った。

(1)Arduinoのバニラシールドは、ICSP端子の部分が使えるものを選ぶ。秋月電子扱いのものは該当部分に穴がない。
(2)ピンヘッダのうち、D13(SCLK)、D11(MOSI)、D10(CS)はピンを曲げて下のシールドに刺さらないようにする。
(3)バニラシールド上のD13をICSP端子のSCLK、D11をMOSIに接続。D10はD9にハンダ付け。
※D10はD9とICSP端子の横にジャンパで接続が切り替えられるようにしているが、これは86DuinoのハードウェアCSに繋ごうと思ったため。
※手抜きでメッキ線の空中配線しています。

このようにArduino DueでハードウェアによるSPIで動作。Arduino DueはSPI.setClockDivider()の指定が数値で、SPI.setClockDivider(2);とすると動作クロック÷2=42MHzとなる。しかし、Adafruit 1.8" Shieldのレベルコンバータの仕様で10MHzが上限とあった。動作クロックは観測していない。
Arduino Due Hardware SPI (The 21st Century Digital Home)
なお、Arduino Leonardo、86Duinoでの動作も確認できた。


(1)Arduinoのバニラシールドは、ICSP端子の部分が使えるものを選ぶ。秋月電子扱いのものは該当部分に穴がない。
(2)ピンヘッダのうち、D13(SCLK)、D11(MOSI)、D10(CS)はピンを曲げて下のシールドに刺さらないようにする。
(3)バニラシールド上のD13をICSP端子のSCLK、D11をMOSIに接続。D10はD9にハンダ付け。
※D10はD9とICSP端子の横にジャンパで接続が切り替えられるようにしているが、これは86DuinoのハードウェアCSに繋ごうと思ったため。
※手抜きでメッキ線の空中配線しています。

このようにArduino DueでハードウェアによるSPIで動作。Arduino DueはSPI.setClockDivider()の指定が数値で、SPI.setClockDivider(2);とすると動作クロック÷2=42MHzとなる。しかし、Adafruit 1.8" Shieldのレベルコンバータの仕様で10MHzが上限とあった。動作クロックは観測していない。
Arduino Due Hardware SPI (The 21st Century Digital Home)
なお、Arduino Leonardo、86Duinoでの動作も確認できた。

![]() | Arduino用バニラシールド基板ver.2(黒) スイッチサイエンス 売り上げランキング : 204199 Amazonで詳しく見る by G-Tools |
![]() | Arduino用バニラシールド基板ver.2(赤) スイッチサイエンス 売り上げランキング : 298693 Amazonで詳しく見る by G-Tools |
![]() | Arduino用バニラシールド基板ver.2(緑) スイッチサイエンス 売り上げランキング : 349393 Amazonで詳しく見る by G-Tools |
![]() | Arduino用バニラシールド基板ver.2(青) スイッチサイエンス 売り上げランキング : 125733 Amazonで詳しく見る by G-Tools |
![]() | Arduino用バニラシールド基板ver.2(白) スイッチサイエンス 売り上げランキング : 134964 Amazonで詳しく見る by G-Tools |




