工業音楽 shuplana's diary

CNCを中心としたワンボードマイコン~パソコン周辺

Teensy 4.0 SPI ST7789 を Adafruit_ST7735_and_ST7789_Library で表示してみる

EuroRack のパネルに組み込むのに小さい画面がいいかなと思い、先行して購入していた1.3インチのTFTモニタ 240x240 ST7789チップを使ったやつを駆動してみた。

 

最初、Spresenseで動かそうと思ったが、うまくいかず、Teensy 4. 0でまず動かしてみて条件を分析しようと思いました。

 

f:id:shuplana:20210404223959j:plain

1.3インチ モニタ SPI ST7789

保護フィルム付けたまま。

ピンとの配線は、

 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 コマンドあたりを使うとできそう。

(ソフトウエアでやるとかなり遅くなると思います)