概要
グラフィック液晶と5方向スイッチ,microSDカードを組み合わせてちょっとリッチな音楽プレイヤーを作ってみました.
おまけでPlatformIOによる開発方法も少しまとめておきます.
動作
https://twitter.com/LunaTsukinashi/status/1564412942929448966
SDカードにあるプレイリストファイル(簡単なテキスト形式)を読みだし,上のファイルから順に再生します.
4方向スイッチで次曲,前曲,音量操作,再生,一時停止が行えます.
フォントもSDカード上にFONTX形式で持っているため自由に差し替えることも出来ます.
環境構築(おまけ)
公式のArduino IDEを使う方法では複数コアのビルドやそもそものコーディングが辛いのでオープンソースの開発環境であるPlatformIOを用います.
初期状態ではSpresenseは登録されていないので有志が作成したものを使用します.
- VSCodeのインストール
- PlatformIOのインストール
- ボード情報の追加
1,2については情報も多いので省略して3についてだけ書きます.
PlatformIO Core CLIをクリックし,
pio pkg install -g -p https://github.com/maxgerhardt/platform-sonyspresense.git
と入力するとボードが追加されます.
あとは他のボードと同じようにプロジェクト作成をすれば快適にコーディングが出来ます.
このようにフォルダを分けた上でplatformio.ini
に
[env]
platform = sonyspresense
board = spresense
framework = arduino
monitor_speed = 115200
[env:spresense_mainCore]
build_src_filter = +<main/>
[env:spresense_subCore1]
build_flags = -DPIO_FRAMEWORK_ARDUINO_CORE_SUB_CORE_1
build_src_filter = +<sub1/>
[env:spresense_subCore2]
build_flags = -DPIO_FRAMEWORK_ARDUINO_CORE_SUB_CORE_2
build_src_filter = +<sub2/>
このように記述すれば各コアのコードを一つのプロジェクトに纏めた上で個別書き込みができます.
コード
https://github.com/Xi80/VisualDAP_Spresense
こちらにあります.
気づいたこと
-
しばらく動かし続けると音楽再生が止まる
-
書き込みがとても遅いのでトライ&エラーをする意欲が減退する.
どうも。情報提供に感謝しています。
自分もSpresenseを頑張っていますが、ArduinoIDEで色々プログラムを組んで基礎的なことを学んでいる最中です。PlatformIOでもプログラムを組んでみようと思ってネットで情報収集したところ、ここにたどり着きました。
マルチコアをPlatformIOでもできるようにしたいのですが、ご投稿の通りしてみても、src下にメインコアとサブコアのSub1とSub2が現れません。もう少し詳しく教えていただけないでしょうか?よろしくお願いします。