2.4インチTFT LCD(320×240,ILI9341,SPI)をArduino ShieldにしてArduinoやArduinoフォームファクター互換のマイコンボードで動かしてみた。
最初に間違えて、SPI接続でないILI9341液晶のものを買ってしまったが、そちらは描画が遅くて実用は厳しかった。SPIへの改造も無理だ。
仕方がないので、SPIの液晶を買いなおした。
2.2インチの液晶パネルや2.8インチの液晶パネルを使った同様の液晶の基板モジュールが売っている。なぜか2.4インチの液晶が一番安かった。
とりあえず、ブレッドボードを使ってArduino Uno互換機(3.3Vのもの)につなげてみた。
配線は、電源3.3VとGND、SPIのMISO,MOSI,CLK,CSの4本(CPUからLCDへのデータ送信しかしない場合はMISOを省略して3本でも動作可能)、あとD/C信号という送信データが描画用データなのかコマンドなのかを判別する信号を接続する。RESETはArduinoのCPUのリセット信号を接続。バックライトの電源については3.3Vをそのまま接続した。
ソフトについてはArduino IDEで、ILI9341のライブラリを探すとAdafruitのライブラリが見つかるのでインストールし、exampleのスケッチを動かしてみた。
無事、動作して描画できた。
—
ArduinoのShield用のユニバーサル基板にはんだ付けして、Arduino用のShieldに改造した。
裏側のSDカードソケットがあると、厚さ方向がこの部分だけ厚くなってしまうので邪魔だ。取り外した。
あと、もともと付いていたコネクタの根本の樹脂の部分を取り除いた。
スポンジのような素材の両面テープでユニバーサル基板に固定する。
はんだ付けして、Arduinoのコネクタと配線を繋いだ。
ブレッドボードで動いていたのと同様にArduino Shieldとしても動作した。
Arduinoで動かす分にはSPIでも、パラレル接続の場合と動作速度は変わらない感じだ。
GR-LYCHEEで使ってみた。
→ ルネサスのARMマイコンボード「GR-LYCHEE」を使ってみる – その3 液晶とケースを取り付けた
高速なハードウェアのSPI機能を持っているマイコンで使う場合は、SPIのクロックの高さに単純に比例して画面データの転送速度が上がるので、画面の書き換え速度が上がりfpsが高くなる。