LoginSignup
2
0

More than 5 years have passed since last update.

Spresenseで”ひっくり返すと音楽が止まるプレイヤー”作ってみた

Last updated at Posted at 2019-02-10

最近、趣味でマイコンをいじりはじめたので、いろいろ作ってみようかなと思い立ちました。
せっかくなので、自分が経験したことを共有したいと思います!!

開発環境

開発環境としては、昨年発売された高性能マイコンボードSpresenseを使ってみようと思います!

image.png

Spresenseとは?
* Arduino 互換のソニーのボードコンピュータ
* マルチコアを内蔵したハイパフォーマンス
* GPSによる測位機能、ハイレゾリューションオーディオの再生・録音機能、低消費電力
* DNNを動かせるライブラリが存在
などの特徴を持ちます。
- https://developer.sony.com/ja/develop/spresense/developer-tools/introduction

なんでSpresense?

勉強のために、RTOSとかArduinoをいじってみたかったのが一番です!あとは、画像処理、ディープラーニングに興味があって、それを動かせる性能がある手ごろなものがSpresenseでした。
たぶんこれを買う人はみんな同じような動機な気がします笑

苦労したこと

情報が全然ない!!知識がある方だったら大丈夫だと思うんですが、私のような初心者には厳しかったです。。。

サンプルコードなんてのも、全然ないので手探りでしたね。もっといろいろサンプルアプリがあれば楽だったのになぁ。

今回作りたいこと

ここからが本題です、今回は、”ひっくり返すと音楽が止まるプレイヤー”を作ってみました。着想は、加速度センサとAudio機能を使って何かできないか、というところです。

使用するモジュール類はこんなものを使いました。
- Spresense:公式
- Spresense拡張ボード:公式
- ROHM センサAdd-onボード SPRESENSE-SENSOR-EVK-701 公式

このRohmのAdd onボードに加速度センサがくっついています。

さあやってみよう

こんな流れで、実装まで行ってみました。

  • 機能決め
  • ざっくり設計、実装
  • 結果

どんな機能をもたせる??

今回は、初めて触るマイコンのお勉強なので、簡単な機能に絞ります!

  • 本体が上向きで、音楽が再生できること
    • 初めから再生されること
  • 本体が下向きで、音楽が停止できること
  • 音楽が最後までいったら、ループすること

調べてみると、ひっくり返すと止まる目覚ましがあるみたいですね。
LEXON レクソン 置き時計 アラームクロックFLIP amazon リンク
image.png

どんな設計??

やたらめったらやっても失敗するので、それっぽい状態遷移図だけ書いてみました。
statechart.JPG

どうやって実装する??

今回はArduino IDEを利用するため、ポーリングのみとしました!(加速度センサから割り込み発生させるやりかたもよくわからないし。。。)

アクティビティ図はこんな感じ。
activity.JPG

SpresenseのAudio APIをどうもうまく使いこなせず、今回はFileのopenとcloseを音楽の停止と再生と同時に行っています。

うごかしてみると・・・?

こーんな感じに動作します。いろんな曲をランダム再生とかだったら案外つかえるかも?

IMAGE ALT TEXT HERE

github

最後に

これからもいろいろSpresenseをいじっていこうと思っています!
SpresenseでOpenPoseとか動かしてみたいなぁ。。。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0