編集履歴一覧に戻る
c0ntra1lのアイコン画像

c0ntra1l が 2022年09月25日09時48分23秒 に編集

初版

タイトルの変更

+

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

タグの変更

+

spresense

+

Arduino

+

PlatformIO

メイン画像の変更

メイン画像が設定されました

記事種類の変更

+

製作品

ライセンスの変更

+

(GPL-3.0+) GNU General Public License, version 3

本文の変更

+

# 概要 グラフィック液晶と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](https://camo.elchika.com/ed9a17444aa0630ceb78e4346c77235f08155c2e/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62336335613438652d633932372d343463342d383533302d6264653630386365353739302f66336462316436342d616536332d343231302d386234322d323936363037323434363533/) PlatformIO Core CLIをクリックし, `pio pkg install -g -p https://github.com/maxgerhardt/platform-sonyspresense.git` と入力するとボードが追加されます. ![ボードが追加されている](https://camo.elchika.com/9b6f260d70edeaeb0b661f4a6aa611e508ae2290/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62336335613438652d633932372d343463342d383533302d6264653630386365353739302f31373834306435302d306230642d346437332d396664352d643966626139626363643865/) あとは他のボードと同じようにプロジェクト作成をすれば快適にコーディングが出来ます. ![フォルダ構成](https://camo.elchika.com/473cd2c05b6b9ea6ecefc2ea97fed24455ac51b0/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62336335613438652d633932372d343463342d383533302d6264653630386365353739302f31316136343064342d353537342d343633652d616439642d383163343039333033663163/) このようにフォルダを分けた上で`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 こちらにあります. # 気づいたこと - しばらく動かし続けると音楽再生が止まる - 書き込みがとても遅いのでトライ&エラーをする意欲が減退する.