視覚障害者用音楽再生機を作る(スイッチで曲再生を制御する)

曲再生制御として4個のスイッチを用意しました。

スィッチのON/OFF検出はライブラリーが多くあるのですが大した処理じゃないので自分で実装しました。Arduino IDEは言語としてはC++ですのでクラスを作ってってのでも良かったのですが組み込みなら古典的な関数ポインタで処理すべきだろうってんで以下のようなコードとしました。

本来ならチャタリングの除去など付けるべきなのでしょうが今回の場合はボタン押下でDFPlayerへのコマンド発行して400msecのdelayがありますので影響は無いはずです。

スイッチ押下時の動作

各スイッチが押された場合の処理は簡単でグローバル変数のフォルダー番号、曲番号を変更して曲再生を試行して指定曲が再生できなければ先頭に戻るって感じです。

前の曲スイッチの動作は今の曲が再生されて3秒以内であれば1曲前に戻りそうでなければ今の曲を再生し直すってロジックにしています。また戻して聴きたい曲なわけですから曲リピートを行うようにしました(他のボタン操作で解除)