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種類読み込むのをお試し。
シンプルに組めた。1秒以内にパッと変わる印象なので、ボタンごとに M5.Lcd.drawJpgFile(SD,"***.jpg"); で呼び出せば良さそう。よかった。 #protoout #DHGS pic.twitter.com/VGEc01piHw— Tanaka Seigo (@1ft_seabass) October 19, 2022