aitendoの1.8インチTFT液晶モジュール [M018C7735S541]を使用する


aitendoで1.8インチTFT液晶モジュール M018C7735S541を購入しました。

販売元のサイトには使用実績やサンプルコードも載っていませんが、
・適度なサイズの文字を出すのに使いやすそう
・基板の後ろに印刷されているST7735はメジャーなものらしく、専用のライブラリも出ているので何とかなりそう
・1000円程度とそれなりに安い
ということで購入してみました。

表示はArduino Unoで試してみました。
ライブラリのダウンロード方法は以下の1,2いずれかで行います。

1.サイトから直接ダウンロード

1. ライブラリのサイトから[Download Zip] でダウンロード

2. Arduino IDEのメニューから 
 スケッチ>ライブラリをインクルード>.ZIP形式のライブラリをインストール
 でダウンロードしたライブラリを選択してインストール

2.ライブラリマネージャーでダウンロード

1. スケッチ>ライブラリをインクルード>ライブラリを管理...でマネージャーを開く
2. 検索窓に[ST7735]と入力し、表示される
 Adafruit ST7735 and ST7789 SPI displaysをインストール

インストールするとスケッチ例が追加されるので
ファイル>スケッチ例>Adafruit ST7735 and ST7789 Library>graphic test
を開く

ファイルをのぞくと

For Arduino Uno: MOSI = pin 11 and SCLK = pin 13
  #define TFT_CS        10
  #define TFT_RST        9 // Or set to -1 and connect to Arduino RESET pin
  #define TFT_DC         8

とあるので、5V,GNDおよびバックライトのBLEDを接続した上でその通りに接続し...
DCがない・・・RESETとRSがある・・・

Arduinoのサイトによると、
cs : int, pin for chip select
dc : int, pin used for
rst : int, pin used for reset
forなんだよ。。
もう少し調べたところ、
DC Data / Command
RS Register Select
RSTはリセットでRSはレジスターセレクトなのか。。
といった感じで調べながら試行錯誤した結果、

基板-Uno
 5V-5V
 RESET-RESET
 RS-D8
 MOSI-D11
 SCK-D13
 CS-D10
 MISO-D9
 SD-
 BLED-5V
 GND-GND

の9本の接続で表示することができました。
基板のシルク印刷も間違っているようです。

フォントは色々使えるようで、

#include <Fonts/FreeSans24pt7b.h>

tft.setFont(&FreeSans24pt7b);

のように使用します。
カラーはRGB565の16bitなので

((r&0x1f)<<11)+((g&0x3f)<<5)+((b&0x1f)<<0))

のようになります。
デフォルトの画面向きは縦向きですが、横向きに使いたい場合は

tft.setRotation(3); // or 1

のように指定します。

消費するピンもそこそこ多く、ライブラリとフォントで8割メモリを使ってしまうので、

パーツとして使い回せるように、これもI2Cデバイス化して使っていきたいと思います。