OLED表示 小型MP3プレーヤ
- 写真
(サイズ比較)
(曲情報表示) (スペクトラム表示) (フォルダ選択画面)
- 概要
- 00年代電子工作の定番・MP3プレーヤ
- ディスプレイに OLED 使用、視野角が広いためどこからでも見やすくきれい
- 実用に耐えうる仕様:
- 単四電池2本 で 10時間以上再生可能
- microSD/SDHC (〜32GB : FAT16/32) 対応
- id3タグ(v1+v2)+日本語ファイル名(8.3+LFN)対応 豊富な情報表示
- 連続 / シャッフル再生
- 再生ディレクトリを複数選択可能
- オーディオスペクトラム表示
- レジューム機能
- 高音・低音強調
- この手の製作としては小型省スペース
- プロジェクト一式・ダウンロード
詳細説明
- 回路について
- MP3デコーダ
- 定番IC VS1011E を使用。
- mp3 だけデコードできればよいので、VS1053 でなくこれを採用したが、こちらの方がアナログ性能が劣るようなのでやや後悔。
- サイズ制約から LQFP(0.5mm ピッチ) を使用。
- デコーダ内蔵の DSP も活用(オーディオスペクトラム表示)
- 電源回路
- 乾電池2本 -> 3.0V の昇圧には、BL8530-30
(上海貝岭)を使用。
- PFM 制御なので、無出力時の消費電力が微小(12uA/typ.)
- マイコンをスリープモードにしておけば、待機時でも常時通電でOK
- 待機時消費電力 17uA @1.9V
- マイコン
- 省スペースでスリープモードの消費電力が小さい ATMEGA32P (ATMEL) を使用。
- QFP(0.8mm ピッチ) をユニバーサル基板に直付けして配線。
- RAM、ROM の制約がかなりきつく、unicode 変換テーブル、日本語フォントは microSD
に格納する羽目になってしまった。(反省点)
- OLED
- aitendo で売っていた UG-2864AMBAG01
を使用
- 128 x 64 エリアカラー OLED(有機LED)ディスプレイ
- OLED用電源として、別途 7-15V の高電圧が必要
- せっかくなのでデバイス内蔵の DC-DC コンバータを使用。
- OLED とのI/F
- ピン節約のため、シリアル接続(SPI)
- SDカード、mp3デコーダIC と OLED で、SPI の動作種別が異なるので注意
- SPI 接続だと、OLED内のデータを読み込むことはできない
- 消費電力
- 待機時消費電流:17uA @ 1.9V
- 動作時消費電流:
- OLED OFF -> 65mA @ 2.4V
- OLED ON -> 90mA @ 2.4V
- 実測連続動作時間(ENERG NiMH 600mAh 2本使用)
- 条件:OLED常時表示、スペアナ常時実行、OLEDコントラスト2
- 条件:OLED 60秒 表示、スペアナ常時実行、OLEDコントラスト2
- まともな電池を使えば、連続10時間動作は十分可能
- プログラムについて
- FAT16/32 は、自作ライブラリを実装して対応
- したがって、SDHC にも対応 大容量メモリカードが使える
- フォルダ構成
- ルートにサブフォルダをつくり、サブフォルダ内にオーディオファイルを置く
- ルートにフォントファイル(font.bin) と unicode テーブル(table.bin)
を置く
- 日本語対応
- 2種類のロケールを使う必要がある
(LFN : unicode / 8+3, ID3tag : Shift-JIS)
- unicode -> SJIS 変換テーブルが必要
- ROMに入りきらないので、microSD 内に保存して、随時読み込み
- 日本語フォントも同様
- シャッフル再生
- よくあるランダム再生ではなく、シャッフル再生
- 同じ曲が短時間に何曲も繰り返すことを防ぐ
- 曲順リストをメモリ上に展開する必要がある
- したがって、1フォルダ当たりの曲数が 320 曲までと制限される
- 複数フォルダ選択
- プレイリストを静的に置くのではなく、再生フォルダを複数選択できることで対応する
- もちろん複数フォルダのシャッフル再生にも対応
- レジューム機能
- フォントについて
- 任意の等幅12ドット BDFフォントが使用可能
- 英字フォント(12x6)についてはプログラムROM 内に格納
- 日本語フォント(12x12)については、microSD 内に格納
- 付属コンバータにより、バイナリ&ヘッダファイルにコンバート
- 英字フォント:"font1.h" というファイル名でソースコードと同じフォルダへ
- 日本語フォント:"font.bin"というファイル名で microSD のルートへ
- unicode 変換テーブルについて
- Unicode ⇔ SJIS 変換テーブル:jis0208.txt
- 付属コンバータにより、バイナリにコンバート
- "table.bin"というファイル名で microSD のルートへ
操作方法
- 4ボタン(MENU, SEL, A, B)で制御
状態 |
MENU |
MENU
長押し |
SEL |
A |
A
長押し |
B |
B
長押し |
電源OFF |
電源ON
-> 再生 |
- |
- |
- |
- |
- |
- |
再生 |
オプション |
電源OFF |
一時停止 |
次の曲へ |
音量+ |
前の曲へ |
音量− |
一時停止 |
ファイル選択 |
電源OFF |
再生 |
次の曲へ |
シーク
(早送り) |
前の曲へ |
シーク
(巻き戻し) |
ファイル選択 |
フォルダ選択 |
電源OFF |
再生 |
カーソル移動 |
|
カーソル移動 |
|
フォルダ選択 |
フォルダ
複数選択 |
電源OFF |
ファイル選択 |
カーソル移動 |
|
カーソル移動 |
|
フォルダ
複数選択 |
フォルダ選択 |
電源OFF |
チェック
ON/OFF |
カーソル移動 |
|
カーソル移動 |
|
画面説明
- 再生画面(スペクトラム表示がOFFの場合)/一時停止画面
上から、(曲名、再生位置、アーティスト名、アルバム名、ストリーム情報+電池電圧)
- 再生画面(スペクトラム表示がONの場合)
スペクトラム表示は、対数軸、ピークホールドつき
- ファイル選択画面
リストは再生順に並んでいる
- フォルダ選択画面
- フォルダ複数選択画面
もどる |