Teensy 4.0 SPI ST7789 を Adafruit_ST7735_and_ST7789_Library で表示してみる
EuroRack のパネルに組み込むのに小さい画面がいいかなと思い、先行して購入していた1.3インチのTFTモニタ 240x240 ST7789チップを使ったやつを駆動してみた。
最初、Spresenseで動かそうと思ったが、うまくいかず、Teensy 4. 0でまず動かしてみて条件を分析しようと思いました。
保護フィルム付けたまま。
ピンとの配線は、
TFT_CS -1 // チップセレクトは使わない
SDA: TFT_MOSI 11 // SPI マスタから出力 (チップの入力)
SCL: TFT_SCLK 13 // SPI
RST: TFT_RST 7 // 空いてるピン リセット
DC: TFT_DC 8 // 空いてるピン
BLK: TFT_BL 9 // 空いてるピン TFT バックライト
11, 13 pin はSPI オブジェクトを使うとデフォルトで使われるピンです。
Adafruit_ST7735_and_ST7789_Library のexamples あたりを動かします。
// このコンストラクタでは動かない
//Adafruit_ST7789 tft(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
Adafruit_ST7789 tft(TFT_CS, TFT_DC, TFT_RST);
tft.init(240, 240, SPI_MODE2);
tft.setRotation(3); // 3:270度 画像は3を指定
// ※0:0度 だと思いますが、基板の印字と逆さになります。
あとはexamples のままで動くと思います。
フォントサイズはsetTextSize(2); で、それでもかなり小さいです。1 だと読めないくらい小さい。
ログを垂れ流しにして表示したかったのですが、スクロール を実装しないといけないみたい。ST7789の VSCRDEF、VSCRSADD コマンドあたりを使うとできそう。
(ソフトウエアでやるとかなり遅くなると思います)