M5Stack V2.6 で SD カードから JPEG データを複数枚ボタン押下で表示してみるメモ
M5Stack V2.6 で SD カードから JPEG データを複数枚ボタン押下で表示してみるメモです。
SD カードの準備

SanDisk 産業用 microSD カードの 8GB を使って Windows で対応しました。
SD カードのフォーマット

- SDカード、micro SDカードの初期化(フォーマット)方法 | mgo-tec電子工作
- M5stack の LCD に日本語漢字フォントを表示したりスクロールしたり | ページ 3 | mgo-tec電子工作
こちらを参考に SD カードフォーマッターで FAT32 で 8 GB の SD カードをフォーマットしました。
320 x 240 のJPEG を 3 枚入れる

Adobe XD で 1 ~ 3.jpg をつくりました。

Windows から直接 320 x 240 のJPEG を 3 枚入れました。
以下に画像も置いておきます。
SD カード挿しこみ

カチリというまで差し込んだら、しっかりハマりました。
プログラムの書き込み
以下のプログラムを書き込みます。A ボタンで 1.jpg 、B ボタンで 2.jpg 、 C ボタンで 3.jpg と動作します。シンプルに組んでみました。
#include <M5Stack.h>
void setup() {
// M5Stackの初期化
M5.begin();
M5.Lcd.clear(TFT_BLACK);
// テキストサイズ指定
M5.Lcd.setTextSize(2);
M5.Lcd.setCursor(60, 80);
M5.Lcd.printf("JPEG SWITCH");
}
void loop() {
M5.update();
if (M5.BtnA.wasReleased()) {
M5.Lcd.clear(TFT_BLACK);
M5.Lcd.drawJpgFile(SD,"/1.jpg");
} else if (M5.BtnB.wasReleased()) {
M5.Lcd.clear(TFT_BLACK);
M5.Lcd.drawJpgFile(SD,"/2.jpg");
} else if (M5.BtnC.wasReleased()) {
M5.Lcd.clear(TFT_BLACK);
M5.Lcd.drawJpgFile(SD,"/3.jpg");
}
}
動かしてみます
JPEG のファイルサイズが 5 ~ 10 KB 前後と小さいのもありそうですが 1 秒以内にパッと変わる印象です。いいかんじ。
色々使うシーンがありそうなので #M5Stack でSD カードからシンプルな JPEG データを A B C ボタンに応じて3種類読み込むのをお試し。
— Tanaka Seigo (@1ft_seabass) October 19, 2022
シンプルに組めた。1秒以内にパッと変わる印象なので、ボタンごとに M5.Lcd.drawJpgFile(SD,"***.jpg"); で呼び出せば良さそう。よかった。 #protoout #DHGS pic.twitter.com/VGEc01piHw


