● 実験テーマ175

「ESP32S3+SDカード+液晶+MP3デコーダIC MP3 Player製作記録 その7」
(MP3のID3v2タグからアルバム情報を検索しイメージと共に演奏者名・曲名を表示する機能を追加しました。これが最終形です。)

■ 2026.10.5
  ・PIC32MXの時に、実験テーマ80でMP3のID3v2タグからアルバム情報を検索しイメージと共に演奏者名・曲名を表示する機能を
   盛込んでいたので、これもESP32S3に移植してみることにしました。
   漢字フォントを用意し、半角文字との混在も可能となっています。


■ 2026.10.8
  ・
移植作業完了。
   
コンパイルしてみる

→ 4点ほどイージーミス有ったが、コンパイルは通過した。未だメモリには余裕があるようです。

  最大1310720バイトのフラッシュメモリのうち、スケッチが525712バイト(40%)を使っています。
  最大327680バイトのRAMのうち、グローバル変数が67864バイト(20%)を使っていて、ローカル変数で259816バイト使うことができます。

  ・
最初の動作確認:書込んでみた。
   
① 12曲リストになった(16曲リスト表示からタグ情報表示エリアを確保のため4曲減らした)

   ② 一応IDTagを読込んで曲名と演奏者名を表示してる

  <不具合点>
   ① N***/Totalの表示が消える
   ② 不具合とまでは言えないが、IDTag表示のクリアが液晶がSPI制御のせいかちょっと遅い。これは妥協した。

  <調査・対策>
   ①は割と簡単そう。
    ・N***/Totalの表示位置が演奏者名表示位置のy=15に重なっている。以下y=16に修正
     totalに関しては以下でok

/* void listRootFiles()
LCD_DrawString(20, 16, str_T, WHITE, BLACK); // y=15から修正

/* void MakerDisp_and_Scroll()
LCD_DrawString(20, 16, str_T, WHITE, BLACK); // y=11から修正

   ・曲番は以下でokになる。

/* main
while(1) {
/// ファイルNo.表示
itostring(3, fileCount+1, str_N+1);
LCD_DrawString(16, 16, str_N, WHITE, BLACK); // 'Nxxx'表示 y=15から修正

   ※ 心配していたIDTagの読込みも上手く行った。
      ファイルヘッダー1024kbの読込記述もファイルシークで先頭に戻す記述もokだった。

  ・今回は簡単に記事をまとめてみました。詳細は以下スケッチを参照してください。


<最終スケッチとフォントデータ>

・こちらからどうぞ→ ESP32S3_MP3_PLAYER_TEST_4.ino
                                        ASCII12dot.h  
                                          KanjiFont12b.h


← 実験テーマ1に戻る   TOP PAGEに戻る