0.96インチTFT液晶(160×80,ST7735,SPI)をArduinoに繋いで動かしてみた

0.96インチTFT液晶(160×80,ST7735,SPI)をArduinoに繋いで動かしてみた。

AAcreatspace 0.96inch LCDディスプレイモジュールIPS画面160×80 HD解像度SPIインターフェース、組み込みコントローラー交換(青) (Amazon)

Arduino Uno互換機(3.3V)に接続するために、Arduino Shield用のユニバーサル基板を使って液晶のSPI信号を繋げてみた。

Arduino LCD ScreenというST7735ドライバを使ってる液晶モジュール基板と使い方は基本的には一緒だ。

この液晶モジュールに固有の点は、
・電源レギュレータやSPIバスの電圧変換回路を備えていないので5Vでは動かない。(5VのArduinoにそのまま繋ぐと壊れるので注意)
・BLKというピンがあり、バックライトをOn/Off制御する制御信号ピンになっている。バックライトを常時Onにする場合は未接続で構わない。
という2点だ。

ST7735Sという液晶ドライバICなので、Arduino IDEからAdafruitのST77xx用ライブラリをインストールしたものを使って動かしてみた。

exampleのgraphictestというスケッチを使った。
ST7735用のライブラリとST7789用のライブラリが一緒のソースコード内に記述がしてあり、どちらかをコメントアウトする形で片方を動かすようになっている。

// For ST7735-based displays, we will use this call
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);

// OR use this initializer (uncomment) if using a 0.96″ 160×80 TFT:
tft.initR(INITR_MINI160x80); // Init ST7735S mini display

あと、Arduino用のShiledに自分で配線をした接続に合わせてピン設定を変更した。 (上記の写真だとRSTをArduinoのRESETに繋いでいたのだが、写真を撮った後に9番ピンに繋げなおした。)

#define TFT_CS 10
#define TFT_RST 9
#define TFT_DC 8
#define TFT_MOSI 11
#define TFT_SCLK 13

結果、無事 描画ができた。


この液晶モジュール基板に使われている液晶パネルは、M5StickCの液晶パネルと同じものだ。

先日M5StickCの液晶パネルをうっかり破損させてしまったのを半田付けして交換修理しようとしている。
交換用の基板モジュールになっていない液晶パネル単品をAliexpressで入手した。

これについては次のblogエントリに書く。

続く

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

7 × 1 =