ゆるく楽しむプログラミング

M5Atomにカラーディスプレィを接続してみた

M5AtomにOLED SSD1331、TFT ST7735、TFT ST7789を接続してみました。
いずれもSPI接続のデバイスです。

M5Atomのピン数が少ないのでCSとBLは省略しています。
※CSはGNDに、BLはVCCに接続しています。

ST7735、ST7789の動作電圧は3.3V、SSD1331は3.3~5Vなので、3.3Vの電源ピンを使用します

M5Atom側の使用ピンは自由に設定できるようですが、一応ディフォルト(M5AtomのスペックシートにSPI用として記載されている)ピンを使用します。
CLK-G23、MOSI-G19、MISO-G33ですが、MISOは使用しないので、G33はRESETに割り当てます。
なので、DC-G22、RESET-G33、CLK-G23、MOSI-G19とします。

CSとBLの接続が異なりますが、
DC、RESET、CLK、MOSIの接続は同じです。

SSD1331はOLEDなのでバックライトがなく
このST7789にはCSピンがありません。






M5AtomでのSPIピンの指定

M5Atom(ESP32)のSPIは変更可能なようです。
ディフォルト状態ではSPIピンは割り当てられていないと思われます。
※ピン割り当てを宣言しない場合、CLK/MOSIに信号が出ませんでした。

SPIのピン割り当てはSPIクラスのbeginメソッドで行います。
ボードライブラリには▼で定義されています。
void begin(int8_t sck=-1, int8_t miso=-1, int8_t mosi=-1, int8_t ss=-1);
なので SPI.begin(23,-1,19,-1) のように宣言すれば良いようです。
ピン割り当て以外はRaspberryPi PICOやArduinoUNOと変わりません。

サンプルスケッチ

ピン割り当てが違いうだけで、ソース自体は各々のデバイスのサンプルスケッチを同じものです。
新規性とか全くないのでGitHubではなくZIPファイルにしました。

M5Atomに接続するサンプルスケッチ4種類: SSD1331/SSD1331(SoftSPI)/ST7789/ST7735用:ColorDisplay.zip