c0ntra1lのアイコン画像
c0ntra1l 2022年09月25日作成 © GPL-3.0+
製作品 製作品 閲覧数 1480
c0ntra1l 2022年09月25日作成 © GPL-3.0+ 製作品 製作品 閲覧数 1480

Spresenseでちょっとリッチな音楽プレイヤーを手軽に作ってみる

Spresenseでちょっとリッチな音楽プレイヤーを手軽に作ってみる

概要

グラフィック液晶と5方向スイッチ,microSDカードを組み合わせてちょっとリッチな音楽プレイヤーを作ってみました.

おまけでPlatformIOによる開発方法も少しまとめておきます.

動作

https://twitter.com/LunaTsukinashi/status/1564412942929448966

SDカードにあるプレイリストファイル(簡単なテキスト形式)を読みだし,上のファイルから順に再生します.
4方向スイッチで次曲,前曲,音量操作,再生,一時停止が行えます.
フォントもSDカード上にFONTX形式で持っているため自由に差し替えることも出来ます.

環境構築(おまけ)

公式のArduino IDEを使う方法では複数コアのビルドやそもそものコーディングが辛いのでオープンソースの開発環境であるPlatformIOを用います.
初期状態ではSpresenseは登録されていないので有志が作成したものを使用します.

  1. VSCodeのインストール
  2. PlatformIOのインストール
  3. ボード情報の追加

1,2については情報も多いので省略して3についてだけ書きます.

PlatformIO

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

こちらにあります.

気づいたこと

  • しばらく動かし続けると音楽再生が止まる

  • 書き込みがとても遅いのでトライ&エラーをする意欲が減退する.

1
  • c0ntra1l さんが 2022/09/25 に 編集 をしました。 (メッセージ: 初版)
  • Opening
    hrnbrainのアイコン画像 hrnbrain 2023/02/17

    どうも。情報提供に感謝しています。
    自分もSpresenseを頑張っていますが、ArduinoIDEで色々プログラムを組んで基礎的なことを学んでいる最中です。PlatformIOでもプログラムを組んでみようと思ってネットで情報収集したところ、ここにたどり着きました。
    マルチコアをPlatformIOでもできるようにしたいのですが、ご投稿の通りしてみても、src下にメインコアとサブコアのSub1とSub2が現れません。もう少し詳しく教えていただけないでしょうか?よろしくお願いします。

    0 件の返信が折りたたまれています