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とします。

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ファイルにしました。
