(VS1011)MP3プレーヤ第10作VS1011によるMP3プレーヤ。無線によるリモコン操作。無線によるリモコン制御のMP3プレーヤ。DIP(モノワイヤレス製)を使用。無線モジュールはベンダー提供の標準アプリをそのまま使うのでは無く、自己開発のソフトで動かします。本体側の無線モジュールはSLEEP状態とWAKE状態を交互に繰り返してコントローラからの起動要求を待ちます。全体をコントロールするマイコンにはStrawberryLinuxのLPCcappuccino(NPX/LPC11U37搭載)を使用。開発環境はCQ出版社のmbed×デバッガ!一枚二役ARMマイコン基盤に付属していてMP3_09に使ったもの(NXP社のネイティブ環境LPCXpresso)をそのまま使った。LPC11U37はコントローラのLCDに表示するイメージデータをI2CでTWE-Liteに転送。TWE-Liteは無線でイメージデータをコントローラに送信。コントローラのボタン操作はTWE-Liteを通じて、LPC11U37のGPIO入力ピンにそのまま伝えられる。MP3_09との大きなちがい。TWE-Liteはバッテリによって常時起動状態にある。4秒程度のSLEEP状態と短時間のWAKE状態、これを繰り返します。WAKE状態にあるときにコントローラからのアクセスを検出すると、TWE-LiteはLPCcappuccinoを起動する。LPCcappuccinoはTWE-Liteの電源をACアダプタに切り替える。TWE-LiteはLPCcappuccinoの起動を検出すると自身で再起動して完全な稼働状態になる。Solution社のこちらの情報も参考にした。NJM4580の回路もあるサイトのものを参考にしたが、そのサイトは今は無くなっています。TWE-Liteまわりの回路については特に参考にした製作例はない。I2Cに10KΩのプルアップ抵抗が付いているが、LPCcappuccino自体がそれを持っているので不要でした。コントローラ(CTRL)の回路TWE-Liteのマイコン機能を利用して操作ボタンの入力、LCDへの出力を行っているLCDはAQM1248A-RN(48x128ドット)。TWE-liteのプログラムベンダーがソースを公開しているリモコン通信アプリ(App_IO)のバージョン1.2.6を改造して自分のプログラムとした。ソースを公開したいところですが、SDKの利用規程に「お客様がソースコードを改変して、これを公開することは可能ですが、公開時に東京コスモス電機にご一報ください」とあります。しようか、ちょっと煩わしいです。v6.1.0_164で開発。これは「mbed×デバッガ!一枚二役ARMマイコン基盤」に付属のもの。CMSISv2p00_LPC11Uxx、LPC11Uxx_Driver_Libと組み合わせてコンパイルします。R0.10aを使用している。(2018/10/21改修。曲の途中で停止したとき、そこから再開できないことがあるのを修正)コントローラケースを使うと小型に実装するのが難しいので、ユニバーサルボードむき出しとしました。調整、再生中の曲名表示、です。ディレクトリ(アルバム)選択のユーザインターフェースが自作MP3プレーヤの生命線と考えられるので、別ページにまとめました。本体(HOST)ケースはタカチのGB225-40G。埋め込み式電池ボックスをはじめて使ってみた。タカチのLD-2Gです。Linuxの自信作のようです。Arduinoを意識したネーミングですが、Arduinoの経験が無いので比較ができません。難点を挙げるならばSPI1の位置。Connectという規格らしいが、ボードのどちらかのサイドに出してほしかった。microSDソケットの位置。ボードの端ぎりぎりに実装されているので、ケースに収めるとメモリカードの出し入れがやりにくいです。本体側のTWE-liteによる待機は今のところ安定している。本格稼働から7日過ぎた今もコントローラを起動すると本体も起動します。問題は本体のバックアップバッテリがどの程度もつか。半年ぐらいもってくれるとうれしいが。最初の電池交換を2018/01/18に行った。5ヶ月もったことになる。(2018/01/21追記)コントローラからの起動は今も快調に動作しています。(2019/04/14追記)起動時にポップノイズが2,3発発生する。起動プロセスが複雑なためかもしれない。ケース内スペースに余裕があるのでミュート回路を付けるかも。リメイク最初に作成したコントローラは画面が小さくて見にくいので、再作成した。表示機にはTG12864Eを使用。このLCDはIOが多いので、TWE-LiteではIOピンが微妙にたりません。キーマトリックスにするなど工夫すれば何とかなりそうではありますが、手持ちのIOエキスパンダ(microchip/MCP23017)を使ってみた。LCDが動作しているとTWE-Liteの通信が不安定になるようで、これも手持ちの2SK4019をLCDのローサイドSWとしました。コントローラの起動直後とボタン押下時に本体(HOST)からの応答があるまでLCDをオフにしています。画面がちらつきますが気になるほどではありません。TWE-Liteのソースを公開しなければ意味がないですが、例のSDKの利用規程「お客様がソースコードを改変して、これを公開することは可能ですが、公開時に東京コスモス電機にご一報ください」が気になり公開してません。タカチのPF-13-4-9に収めた。