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

AtomLITEでSDカードからJPEGファイルを読んで液晶ディスプレイに表示してみた

AtomLiteを使って、SDカードからJPEGファイルを読みだし、液晶ディスプレーに表示してみました。

AtomLITE : スイッチサイエンス / 秋月電子 / Amazon

microSDカードスロット レベルシフター付きブレークアウト基板キット: 秋月電子

OLED SSD1331 : 秋月電子 / Amazon

AtomLITEとの接続ピン対応は▼ SSD1331のCSは論理反転して接続
AtomLITE SSD1331 SD CARD SPI
22 DC
19 RES
23 SDA CMD MOSI
33 SCL CLK CLK
21 DAT MISO
25 CS CS CS

論理反転IC(インバータ)を使えば簡単ですが、今回はトランジスタで論理反転回路を組んでみました。



スケッチの注意点

SPIClassのディフォルトインスタンス SPI は使用しない。
 SD用、OLED用に各々SPIClassのインスタンスを定義して初期化を行う。
 以後は、各々のSPIClassインスタンスを使用する。
SPIClass SPI_OLED ;

// ----- ST3375 INITIAL -----
pinMode(PIN_DC, OUTPUT);
pinMode(PIN_RESET, OUTPUT);
pinMode(PIN_CS, OUTPUT);
SPI_OLED.begin(PIN_CLK,PIN_MISO,PIN_MOSI,-1);
SPIClass SPI_SD ;

pinMode(PIN_CS, OUTPUT);
digitalWrite(PIN_CS, LOW);

SPI_SD.begin(PIN_CLK,PIN_MISO,PIN_MOSI);
if (!SD.begin(PIN_CS,SPI_SD,4000000)) {

メモリー使用量に注意

AtomLITEでは JPEGをBITMAPに展開するためのフレームバッファを充分に確保できませんでした。
160x120ドットくらいが精いっぱい(もうちょっと大きくても行けるが、QVGA(320x240)は無理でした)
(VGAサイズのTFTとかを使う場合)フレームバッファを取らずに液晶ディスプレーに直接書き込めば行けるかも。

スケッチ

Atom-SSD1331-SD.zip

  SD-CARD : デモ用画像データ ・ フォルダの中身をSDカードにコピーしてください。

解説動画