質問: Arduinoで作成するプログラムについての質問です。 DFPlayer Mini を使ってArduinoで音声(MP3)を再生するプログラムを作成しています。
回答: DFPlayerのデータシート(FN-M16P Embedded MP3 Audio Module)は見ていますか? 元々、シンプルなコントロールなら、Arduino無しで、抵抗とスイッチを付ければ操作できるようになっています。 (再生、一時停止、リピート、ヴォリューム+-、次の曲、など) Arduinoを使うというのは、例えばLCDを付けて、もっと操作性を良くしたり、凝ったものを作りたい場合にArduinoを使います。 で、質問内容(現在のスケッチ)を見ると、これならそのまま配線すればいいのに、と思うのですけど。 まぁ、一応質問に答えると、 int vol=10; byte b1,b2; と外部変数で宣言して、setup関数で pinMode(BUTTON1_SOCKET,INPUT_PULLUP); pinMode(BUTTON2_SOCKET,INPUT_PULLUP); とプルアップ入力にしておいて、ループ関数で下記のスイッチ読み取り→ボリューム操作を行えばいいです。 if(digitalRead(BUTTON1_SOCKET))b1=0; else if(b1==0){//ボタン1が押された瞬間 b1=1; vol+=5; if(vol>30)vol=30; mp3_set_volume(vol); } if(digitalRead(BUTTON2_SOCKET))b2=0; else if(b2==0){//ボタン2が押された瞬間 b2=1; vol-=5; if(vol<0)vol=0; mp3_set_volume(vol); } delay(5); ただし、mp3_play関数はループ中に何度も行うものでは無いでしょうから、 テストならsetup関数内に書いておいた方が良いです。