#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
SoftwareSerial mySoftwareSerial(2, 3); // RX, TX
// 定義連接藍牙模組的序列埠
SoftwareSerial BT(11, 12); // 接收腳(RX), 傳送腳(TX)
char val; // 儲存接收資料的變數
String recieveData = ""; //接收字串
bool startRecieve = false;
int music =13;
void setup() {
Serial.begin (9600);
mySoftwareSerial.begin(9600);
BT.begin(9600); //HC-05 預設 baud
pinMode(5, OUTPUT); //pin 10 set output mode
pinMode(6, OUTPUT); //pin 10 set output mode
pinMode(7, OUTPUT); //pin 10 set output mode
mp3_set_serial (mySoftwareSerial); //set Serial for DFPlayer-mini mp3 module
mp3_set_volume (20);
}
void loop () {
while (BT.available()) //如果有收到資料
{
startRecieve = true;
val = BT.read(); //每次接收一個字元
recieveData += val; //字元組成字串
BT.write(byte(val)); //把每次收到的字元轉成byte封包傳至手機端
delay(200); //每次傳輸間隔,如果太短會造成資料遺失或亂碼
}
if (startRecieve)
{
startRecieve = false;
Serial.print("選到的歌曲為:");
Serial.println(recieveData);
music = recieveData.toInt();
recieveData = "";
}
delay(50);
switch(music)
{
case 1:
mp3_play (1);
music=100;
break;
case 2:
mp3_play (2);
music=100;
break;
case 3:
mp3_play (3);
music=100;
break;
case 4:
mp3_play (4);
music=100;
break;
case 5:
mp3_play (5);
music=100;
break;
case 6:
mp3_play (6);
music=100;
break;
case 7:
mp3_play (7);
music=100;
break;
case 8:
mp3_play (8);
music=100;
break;
case 9:
mp3_play (9);
music=100;
break;
case 10:
mp3_play (10);
music=100;
break;
case 11:
mp3_play (11);
music=100;
break;
case 12:
mp3_play (12);
music=100;
break;
case 13:
mp3_play (13);
music=100;
break;
case 14:
mp3_play (14);
music=100;
break;
case 15:
mp3_play (15);
music=100;
break;
case 16:
mp3_play (16);
music=100;
break;
case 17:
mp3_play (17);
music=100;
break;
case 18:
mp3_play (18);
music=100;
break;
case 19:
mp3_play (19);
music=100;
break;
case 20:
mp3_play (20);
music=100;
break;
case 21:
mp3_play (21);
music=100;
break;
case 22:
mp3_play (22);
music=100;
break;
case 23:
mp3_play (23);
music=100;
break;
case 24:
mp3_play (24);
music=100;
break;
case 25:
mp3_play (25);
music=100;
break;
case 26:
mp3_play (26);
music=100;
break;
case 27:
mp3_play (27);
music=100;
break;
default :
break;
}
}