前提
M5StackでMicroSDから画像を読み込みたいと思っていますが、表示されません。
- SD.beginを行っていますが、こちらもFalseで返ってくる(コード行目)
- M5Stack経由でSDのroot配下のファイル一覧を表示しても0件で返ってくる
- もちろん「M5.Lcd.drawJpgFile(SD, "/default.jpg");」は表示されない
- MacからMicroSDを初期化(FAT32)
- MicroSDは①SanDiskUltra32GB(MicroSDHC) ②KIOXIA 16GB(MicroSDHC)を使用したが、どちらも同じ結果
- MicroSDへはMacbookAir(M2)から、SDカードリーダー「BUFFALO(BSCR27U3 series)」や「ELECOM MR-K013」で行ったが、どちらも結果は同じ ※いずれもUSB-C変換アダプタ使用
※コンパイルやM5Stackへの書き込みは正常にできており、SDカードの情報を読取る部分のみ問題が起きているという状況です
環境
- M5Stack:BASIC(ESP32)
- MicroSD:①SanDiskUltra32GB(MicroSDHC) と ②KIOXIA 16GB(MicroSDHC)
- SDカードリーダー ①BUFFALO(BSCR27U3 series)と ②ELECOM MR-K013
- PC:Macbook Air(M2)
- エディタ:Arduino IDE
実現したいこと
MicroSDに保存した画像やファイルをM5Stackで読み取りたい。
もしくはM5Stack本体に問題があるのか、SDカードとの相性、もしくはSDカード自体の不具合なのか、
どこに原因があるかを知りたく思っています。
該当のソースコード
sample.ino
1#include <M5Stack.h> 2#include <WiFiClientSecure.h> 3#include <WiFi.h> 4#include <SD.h> 5 6File root; 7File file; 8 9void setup() { 10 M5.begin(); 11 M5.Lcd.println("Initializing SD card..."); 12 13 if (!SD.begin(5)) { 14 M5.Lcd.println("initialization failed!"); 15 } 16 17 file = SD.open("/test.txt", FILE_WRITE); 18 if (!file) { 19 M5.Lcd.println("ERROR: OPEN FILE."); 20 } 21 file.println("sample"); 22 file.close(); 23 24 root = SD.open("/"); 25 printDirectory(root, 0); 26 27 //画像表示 28 M5.Lcd.drawJpgFile(SD, "/default.jpg"); 29} 30 31void printDirectory(File dir, int numTabs) { 32 while(true) { 33 File entry = dir.openNextFile(); 34 if (! entry) { 35 dir.rewindDirectory(); 36 break; 37 } 38 for (uint8_t i=0; i<numTabs; i++) { 39 M5.Lcd.print('\t'); 40 } 41 M5.Lcd.print(entry.name()); 42 if (entry.isDirectory()) { 43 M5.Lcd.println("/"); 44 printDirectory(entry, numTabs+1); 45 } else { 46 M5.Lcd.println("\t\t"); 47 //M5.Lcd.println(entry.size(), DEC); 48 } 49 } 50}
実行結果
M5Stackの画面には
Initializing SD card... initialization failed! ERROR: OPEN FILE.
となります。
また、test.txtファイルはSDカード内に新規作成されていませんでした。
お知恵をお貸しいただけますと幸いです。
※当方M5Stack超初心者です。どうぞよろしくお願いいたします。
こんなのを見かけたのでご参考まで。SDのクロックを下げてみたらどうなるでしょう? というお話で。
https://twitter.com/mongonta555/status/1581128676720095232
回答3件
あなたの回答
tips
プレビュー